1.先说一下我遇到的问题 其中接受类型已经加了accept 但是当选择弹出本地选择文件时候切换到所有文件 之前的文件类型就本根过滤不掉了

<el-upload
                class="c-upload"
                ref="upload"
                :action="actions"
                :headers="myHeaders"
                :data="myData"
                :limit='limit'
                accept=".xls,.xlsx"
                :on-exceed="onExceed"
                :on-change="onChange"
                :on-success="onSuccess"
                :on-error="onError"
                :file-list="fileList"
                :before-upload="beforeUpload"
                :auto-upload="false"
            >
                <el-button
                    slot="trigger"
                    size="small"
                    type="primary"
                >选取文件</el-button>
                <div
                    slot="tip"
                    class="el-upload__tip"
                >只能上传xls/xlsx文件,且不超过一个</div>
            </el-upload>

解决办法:

上传之前:before-upload="beforeUpload"再次判断文件类型

beforeUpload(file) {
            console.log(file)
            var testmsg=file.name.substring(file.name.lastIndexOf('.')+1)
            const extension = testmsg === 'xls'
            const extension2 = testmsg === 'xlsx'
            // const isLt2M = file.size / 1024 / 1024 < 10
            if(!extension && !extension2) {
                this.$message({
                    message: '上传文件只能是 xls、xlsx格式!',
                    type: 'warning'
                });
            }
            // if(!isLt2M) {
            //     this.$message({
            //         message: '上传文件大小不能超过 10MB!',
            //         type: 'warning'
            //     });
            // }
            // return (extension || extension2) && isLt2M
            return extension || extension2
        },

其中也可加文件大小限制  我没用到就注释掉了(isLt2M)

over~

GitHub 加速计划 / eleme / element
14
1
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:2 个月前 )
c345bb45 1 年前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 1 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐