element-ui는 가져오기 및 내보내기를 구현합니다.
이번에는 가져오기 및 내보내기를 구현하는 Element-UI를 가져오겠습니다. 가져오기 및 내보내기를 구현하는 Element-UI의 Notes는 무엇입니까? 다음은 실제 사례입니다.
머리말
우리 모두 알고 있듯이 ElementUI는 비교적 완전한 UI 라이브러리이지만 이를 사용하려면 약간의 Vue 기반이 필요합니다. 본 글의 본문을 시작하기에 앞서, 설치 방법을 살펴보자.
ElementUI 모듈 설치
cnpm install element-ui -S
main.js에
import ElementUI from 'element-ui' import 'element-ui/lib/theme-default/index.css'
를 소개합니다. 전역 설치
Vue.use(ElementUI)
설치한 후 다시 실행하는 것을 잊지 마세요. cnpm run dev
이제 elementUI를 직접 사용할 수 있습니다.
vue + element-ui 가져오기 및 내보내기 기능
1. 프런트엔드 및 백엔드 관리 시스템의 데이터 표시는 일반적으로 가져오기 및 내보내기와 관련된 테이블을 사용합니다.
2. 가져오기는 element-ui의 Upload 구성 요소를 사용하는 것입니다.
<el-upload class="upload-demo" :action="importUrl"//上传的路径 :name ="name"//上传的文件字段名 :headers="importHeaders"//请求头格式 :on-preview="handlePreview"//可以通过 file.response 拿到服务端返回数据 :on-remove="handleRemove"//文件移除 :before-upload="beforeUpload"//上传前配置 :on-error="uploadFail"//上传错误 :on-success="uploadSuccess"//上传成功 :file-list="fileList"//上传的文件列表 :with-credentials="withCredentials">//是否支持cookie信息发送 </el-upload>
3. 내보내기는 파일의 객체 blob을 사용하는 것입니다. 백그라운드 인터페이스를 호출하여 데이터를 가져온 다음 데이터를 사용하여 blob을 인스턴스화하고 a 태그의 href 속성을 사용하여 blob 객체
export const downloadTemplate = function (scheduleType) { axios.get('/rest/schedule/template', { params: { "scheduleType": scheduleType }, responseType: 'arraybuffer' }).then((response) => { //创建一个blob对象,file的一种 let blob = new Blob([response.data], { type: 'application/x-xls' }) let link = document.createElement('a') link.href = window.URL.createObjectURL(blob) //配置下载的文件名 link.download = fileNames[scheduleType] + '_' + response.headers.datestr + '.xls' link.click() }) }
에 연결합니다. 4. 전체 소규모 데모의 전체 코드를 붙여넣으면 백엔드 개발에 직접(vue 파일) 사용할 수 있습니다
<template> <p> <el-table ref="multipleTable" :data="tableData3" tooltip-effect="dark" border style="width: 80%" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column label="日期" width="120"> <template slot-scope="scope">{{ scope.row.date }}</template> </el-table-column> <el-table-column prop="name" label="姓名" width="120"> </el-table-column> <el-table-column prop="address" label="地址" show-overflow-tooltip> </el-table-column> </el-table> <p style="margin-top: 20px"> <el-button @click="toggleSelection([tableData3[1], tableData3[2]])">切换第二、第三行的选中状态</el-button> <el-button @click="toggleSelection()">取消选择</el-button> <el-button type="primary" @click="importData">导入</el-button> <el-button type="primary" @click="outportData">导出</el-button> </p> <!-- 导入 --> <el-dialog title="导入" :visible.sync="dialogImportVisible" :modal-append-to-body="false" :close-on-click-modal="false" class="dialog-import"> <p :class="{'import-content': importFlag === 1, 'hide-dialog': importFlag !== 1}"> <el-upload class="upload-demo" :action="importUrl" :name ="name" :headers="importHeaders" :on-preview="handlePreview" :on-remove="handleRemove" :before-upload="beforeUpload" :on-error="uploadFail" :on-success="uploadSuccess" :file-list="fileList" :with-credentials="withCredentials"> <!-- 是否支持发送cookie信息 --> <el-button size="small" type="primary" :disabled="processing">{{uploadTip}}</el-button> <p slot="tip" class="el-uploadtip">只能上传excel文件</p> </el-upload> <p class="download-template"> <a class="btn-download" @click="download"> <i class="icon-download"></i>下载模板</a> </p> </p> <p :class="{'import-failure': importFlag === 2, 'hide-dialog': importFlag !== 2}" > <p class="failure-tips"> <i class="el-icon-warning"></i>导入失败</p> <p class="failure-reason"> <h4>失败原因</h4> <ul> <li v-for="(error,index) in errorResults" :key="index">第{{error.rowIdx + 1}}行,错误:{{error.column}},{{error.value}},{{error.errorInfo}}</li> </ul> </p> </p> </el-dialog> <!-- 导出 --> </p> </template> <script> import * as scheduleApi from '@/api/schedule' export default { data() { return { tableData3: [ { date: "2016-05-03", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" }, { date: "2016-05-02", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" }, { date: "2016-05-04", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" }, { date: "2016-05-01", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" }, { date: "2016-05-08", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" }, { date: "2016-05-06", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" }, { date: "2016-05-07", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" } ], multipleSelection: [], importUrl:'www.baidu.com',//后台接口config.admin_url+'rest/schedule/import/' importHeaders:{ enctype:'multipart/form-data', cityCode:'' }, name: 'import', fileList: [], withCredentials: true, processing: false, uploadTip:'点击上传', importFlag:1, dialogImportVisible:false, errorResults:[] }; }, methods: { toggleSelection(rows) { if (rows) { rows.forEach(row => { this.$refs.multipleTable.toggleRowSelection(row); }); } else { this.$refs.multipleTable.clearSelection(); } }, handleSelectionChange(val) { //复选框选择回填函数,val返回一整行的数据 this.multipleSelection = val; }, importData() { this.importFlag = 1 this.fileList = [] this.uploadTip = '点击上传' this.processing = false this.dialogImportVisible = true }, outportData() { scheduleApi.downloadTemplate() }, handlePreview(file) { //可以通过 file.response 拿到服务端返回数据 }, handleRemove(file, fileList) { //文件移除 }, beforeUpload(file){ //上传前配置 this.importHeaders.cityCode='上海'//可以配置请求头 let excelfileExtend = ".xls,.xlsx"//设置文件格式 let fileExtend = file.name.substring(file.name.lastIndexOf('.')).toLowerCase(); if (excelfileExtend.indexOf(fileExtend) <= -1) { this.$message.error('文件格式错误') return false } this.uploadTip = '正在处理中...' this.processing = true }, //上传错误 uploadFail(err, file, fileList) { this.uploadTip = '点击上传' this.processing = false this.$message.error(err) }, //上传成功 uploadSuccess(response, file, fileList) { this.uploadTip = '点击上传' this.processing = false if (response.status === -1) { this.errorResults = response.data if (this.errorResults) { this.importFlag = 2 } else { this.dialogImportVisible = false this.$message.error(response.errorMsg) } } else { this.importFlag = 3 this.dialogImportVisible = false this.$message.info('导入成功') this.doSearch() } }, //下载模板 download() { //调用后台模板方法,和导出类似 scheduleApi.downloadTemplate() }, } }; </script> <style scoped> .hide-dialog{ display:none; } </style>
5.js 파일, 인터페이스 호출
import axios from 'axios' // 下载模板 export const downloadTemplate = function (scheduleType) { axios.get('/rest/schedule/template', { params: { "scheduleType": scheduleType }, responseType: 'arraybuffer' }).then((response) => { //创建一个blob对象,file的一种 let blob = new Blob([response.data], { type: 'application/x-xls' }) let link = document.createElement('a') link.href = window.URL.createObjectURL(blob) link.download = fileNames[scheduleType] + '_' + response.headers.datestr + '.xls' link.click() }) }
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
위 내용은 element-ui는 가져오기 및 내보내기를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











소셜 미디어의 지속적인 성장과 함께 인기 있는 단편 동영상 플랫폼인 Douyin은 많은 사용자를 끌어 모았습니다. Douyin에서 사용자는 자신의 생활을 보여줄 수 있을 뿐만 아니라 다른 사용자와 상호 작용할 수도 있습니다. 이러한 상호 작용에서 이모티콘은 점차 사용자가 자신의 감정을 표현하는 중요한 방법이 되었습니다. 1. WeChat에서 Douyin 비공개 메시지 이모티콘을 얻는 방법은 무엇입니까? 우선, Douyin 플랫폼에서 비공개 메시지 이모티콘을 받으려면 Douyin 계정에 로그인한 다음 원하는 이모티콘을 검색하고 선택해야 합니다. 친구에게 보내거나 직접 수집할 수 있습니다. Douyin에서 이모티콘 패키지를 받은 후 개인 메시지 인터페이스를 통해 이모티콘 패키지를 길게 누른 다음 "이모티콘에 추가" 기능을 선택할 수 있습니다. 이러한 방식으로 이 이모티콘 패키지를 Douyin의 이모티콘 라이브러리에 추가할 수 있습니다. 3. 다음으로 Douyin 이모티콘 라이브러리에 표현식을 추가해야 합니다.

Huawei 휴대폰에서 이중 WeChat 로그인을 구현하는 방법은 무엇입니까? 소셜 미디어의 등장으로 WeChat은 사람들의 일상 생활에 없어서는 안될 커뮤니케이션 도구 중 하나가 되었습니다. 그러나 많은 사람들이 동일한 휴대폰에서 동시에 여러 WeChat 계정에 로그인하는 문제에 직면할 수 있습니다. Huawei 휴대폰 사용자의 경우 듀얼 WeChat 로그인을 달성하는 것은 어렵지 않습니다. 이 기사에서는 Huawei 휴대폰에서 듀얼 WeChat 로그인을 달성하는 방법을 소개합니다. 우선, 화웨이 휴대폰과 함께 제공되는 EMUI 시스템은 듀얼 애플리케이션 열기라는 매우 편리한 기능을 제공합니다. 앱 듀얼 오픈 기능을 통해 사용자는 동시에

xmind는 매우 실용적인 마인드 매핑 소프트웨어입니다. 사람들의 생각과 영감을 사용하여 만든 지도 형식입니다. xmind 파일을 만든 후에는 일반적으로 모든 사람이 쉽게 배포하고 사용할 수 있도록 PDF 파일 형식으로 변환합니다. PDF 파일로? 다음은 참조할 수 있는 구체적인 단계입니다. 1. 먼저 마인드맵을 PDF 문서로 내보내는 방법을 보여드리겠습니다. [파일]-[내보내기] 기능버튼을 선택하세요. 2. 새로 나타난 인터페이스에서 [PDF 문서]를 선택하고 [다음] 버튼을 클릭하세요. 3. 내보내기 인터페이스에서 용지 크기, 방향, 해상도 및 문서 저장 위치 설정을 선택합니다. 설정을 완료한 후 [마침] 버튼을 클릭하세요. 4. [마침] 버튼을 클릭하면

1. 먼저 Kujiale에서 처리할 설계도면을 열고 위 도면 목록 아래의 시공도면을 클릭합니다. 2. 그런 다음 클릭하여 풀 컬러 평면도를 선택합니다. 3. 그런 다음 도면에서 불필요한 가구를 숨기고 내보내야 하는 가구만 남겨 둡니다. 4. 마지막으로 다운로드를 클릭합니다.

프로그래밍 언어 PHP는 다양한 프로그래밍 논리와 알고리즘을 지원할 수 있는 강력한 웹 개발 도구입니다. 그중 피보나치 수열을 구현하는 것은 일반적이고 고전적인 프로그래밍 문제입니다. 이 기사에서는 PHP 프로그래밍 언어를 사용하여 피보나치 수열을 구현하는 방법을 소개하고 구체적인 코드 예제를 첨부합니다. 피보나치 수열은 다음과 같이 정의되는 수학적 수열입니다. 수열의 첫 번째와 두 번째 요소는 1이고 세 번째 요소부터 시작하여 각 요소의 값은 이전 두 요소의 합과 같습니다. 시퀀스의 처음 몇 가지 요소

Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 방법 소셜 소프트웨어의 인기와 개인 정보 보호 및 보안에 대한 사람들의 강조가 높아지면서 WeChat 복제 기능이 점차 주목을 받고 있습니다. WeChat 복제 기능을 사용하면 사용자가 동일한 휴대폰에서 여러 WeChat 계정에 동시에 로그인할 수 있으므로 관리 및 사용이 더 쉬워집니다. Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 것은 어렵지 않습니다. 다음 단계만 따르면 됩니다. 1단계: 휴대폰 시스템 버전과 WeChat 버전이 요구 사항을 충족하는지 확인하십시오. 먼저 Huawei 휴대폰 시스템 버전과 WeChat 앱이 최신 버전으로 업데이트되었는지 확인하세요.

오늘날의 소프트웨어 개발 분야에서 효율적이고 간결하며 동시성이 뛰어난 프로그래밍 언어인 Golang(Go 언어)은 점점 더 개발자들의 선호를 받고 있습니다. 풍부한 표준 라이브러리와 효율적인 동시성 기능으로 인해 게임 개발 분야에서 주목받는 선택이 되었습니다. 이 기사에서는 게임 개발에 Golang을 사용하는 방법을 살펴보고 특정 코드 예제를 통해 Golang의 강력한 가능성을 보여줍니다. 1. 게임 개발에서 Golang의 장점 Golang은 정적인 유형의 언어로서 대규모 게임 시스템을 구축하는 데 사용됩니다.

PHP 게임 요구사항 구현 가이드 인터넷의 대중화와 발전으로 인해 웹 게임 시장이 점점 더 대중화되고 있습니다. 많은 개발자는 PHP 언어를 사용하여 자신만의 웹 게임을 개발하기를 원하며 게임 요구 사항을 구현하는 것이 핵심 단계입니다. 이 문서에서는 PHP 언어를 사용하여 일반적인 게임 요구 사항을 구현하는 방법을 소개하고 특정 코드 예제를 제공합니다. 1. 게임 캐릭터 만들기 웹게임에서 게임 캐릭터는 매우 중요한 요소입니다. 이름, 레벨, 경험치 등 게임 캐릭터의 속성을 정의하고, 이를 운용할 수 있는 방법을 제공해야 합니다.
