Element-ui使用上传时弹框选择文件类型

实现效果

1,点击上传,上传文件;
在这里插入图片描述
2,选择文件;
在这里插入图片描述
3,弹框选择文件类型;
在这里插入图片描述
在这里插入图片描述
4,选择类型后确定上传;
在这里插入图片描述

一,上传

跳过;

二,定义弹框+下拉框

1,定义属性

dialogVisible: false, //初始页面关闭弹框

在这里插入图片描述
2,定义弹框

el-autocomplete 组件在 input输入框中,’带输入建议‘;

dialogVisible:属性; @close=“decisionTyoe(false)”:点击×时调用关闭函数传入false,停止上传;
@click=“decisionTyoe(false)”:点击取消时调用关闭函数传入false,停止上传;
@click=“decisionTyoe(true)”:点击取消时调用关闭函数传入false,上传文件;

    <el-dialog title="选择类型" :visible.sync="dialogVisible" @close="decisionTyoe(false)">
      <el-autocomplete class="feed-word-type" v-model="m_arrWordTypeValue"
                       :fetch-suggestions="doWordTypeValue"
                       @select="handleQueryWordType">
      <template slot="prepend">文件类型</template>
    </el-autocomplete>

      <span slot="footer" class="dialog-footer">
        <el-button @click="decisionTyoe(false)">取 消</el-button>
        <el-button type="primary" @click="decisionTyoe(true)">确 定</el-button>
      </span>
    </el-dialog>

3,函数定义
注意!!!一定要开启监听,原因是后续的方法需要根据监听来判断是否选择了文件类型(取消,确定)

    decisionTyoe(flag){
      this.dialogVisible= false;
      // 开启监听
      this.$emit('dialog-closed', flag);
    }

4,下拉框框函数定义

	//下拉框数据
    doWordTypeValue(queryString, cb) {
      var results = [{
        value: 'IOT',
        file_type: 1,
      }, {
        value: 'MCU',
        file_type: 2,
      }, {
        value: '时序',
        file_type: 3,
      }]
      // 调用 callback 返回建议列表的数据
      cb(results);
    },
    //选择下拉框
    handleQueryWordType(inItem){
      this.m_arrWordTypeValue = inItem.value;
      this.extraData.file_type = inItem.file_type;
    },

三,上传合并弹框

1,弹框选择要在上传后台前,所以要使用到 上传组件的before-upload属性(上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。)

              <el-upload
                :action="m_uploadUrl"
                :auto-upload="true"
                :data="extraData"
                :show-file-list="false"
                :before-upload="doImportBefore"
                :on-success="doImportSuccess">
                <i class="el-icon-upload2">上传</i>
              </el-upload>

2,定义doImportBefore函数来选择上传文件与打开弹框

    doImportBefore(inFile) {
      // 打开对话框
      this.dialogVisible = true;

      // 需要来进行等待用户弹框选择文件类型;
      // 使用Promise函数等待监听dialog-closed
      return new Promise((resolve, reject) => {
      	// 当用户点击了确定或取消时触发监听,
        this.$once('dialog-closed', (confirmed) => {
          if (confirmed) {
            console.log('用户点击了确认按钮');

            ///
			// 文件的逻辑处理
            let nPos = inFile.name.lastIndexOf('.');
            if (nPos < 0) {
              this.$message.error('支持的文件格式 => dat 或 bin');
              resolve(false);
              return;
            }
            let strExt = inFile.name.substring(nPos + 1);
            strExt = strExt.toLowerCase();

            if (strExt !== 'dat' && strExt !== 'bin') {
              this.$message.error('支持的文件格式 => dat 或 bin');
              resolve(false);
              return;
            }
            ///

            // 直接设置异步加载状态...
            this.m_bIsLoading = true
            resolve(true);
            return;
          } else {
            this.$message.error('用户取消了上传');
            reject(false);
            return;
          }
        });
      });

    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/677713.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

这么好看的AI摄影写真,用Stable Diffusion 即可轻松完成,想要什么风格都可以!

大家好&#xff0c;我是向阳。 今天给大家分享一下如何用AI绘画工具Stable Diffusion 制作摄影奇幻写真&#xff0c;本次教程很简单&#xff0c;跟着我&#xff0c;你也能快速上手&#xff01;学会了&#xff0c;就去尝试生成一套自己的AI写真吧 AI工具Stable Diffusion 和 教…

Python 实现反转密码加密

反转密码加密是通过反向输出消息进行加密。如&#xff0c;‘Hi,boy!’通过反转加密就会变成 ‘!yob,iH’。加解密的过程是一样的&#xff0c;解密是需要将密文再次反转过来既可以得到原文内容了。 反转加密是一种比较弱的加密方式&#xff0c;一般我们通过一些密文既可以发现它…

【简单学习一下卷积神经网络】-基于肆十二的高考例子

前言一、白话卷积神经网络总结 前言 【参考】 主要是P2⇨手把手教你用tensorflow2训练自己的数据集 -------2024/5/4 一、白话卷积神经网络 高考前需要大量的做题训练---->相当于数据集。 做题过程中【于标准答案进行比对】产生的错题⇨loss&#xff08;误差&#xff09; 回…

RaspAP:轻松实现树莓派无线 AP

RaspAP 是一个可以将树莓派轻松部署成无线 AP&#xff08;Access Point&#xff09;的软件方案&#xff0c;具有一套响应式的 WebUI 来控制 WiFi&#xff0c;用起来和家用路由器一样方便。RaspAP 可以运行在 Raspbian 上&#xff0c;只需要先给树莓派安装好 Raspbian 系统&…

LeetCode-3067. 在带权树网络中统计可连接服务器对数目【树 深度优先搜索 数组】

LeetCode-3067. 在带权树网络中统计可连接服务器对数目【树 深度优先搜索 数组】 题目描述&#xff1a;解题思路一&#xff1a;dfs&#xff0c;针对当前服务器i有for i, gi in enumerate(g):&#xff0c;不断dfs其的邻居节点for y, wt in gi:&#xff0c;dfs可以计算得到邻居y的…

解决 windows11 文件夹中右键没有出现Git Bash Here的问题?

电脑刚从w10升级到了w11&#xff0c;想要从git拉去项目&#xff0c;但是发现右键菜单下找不到git&#xff0c;如图&#xff1a; 百度了一下&#xff0c;看了看这位大佬 这篇文章 的配置&#xff0c;确实能打开&#xff0c;但右键菜单下还是没有&#xff0c;于是继续搜寻问题的…

Kimichat使用案例008:查找比亚迪、特斯拉等电动车产业链相关股票(用kimichat炒股)

文章目录 一、介绍二、Kimi操作内容三、Kimi输出内容四、kimi操作内容五、Kimi输出内容一、介绍 kimichat可以联网检索,搜索结果更加准确、智能。 二、Kimi操作内容 在kimichat中输入提示词: 找出同时在比亚迪产业链和特斯拉产业链的企业 三、Kimi输出内容 四、kimi操作内容…

成功解决“ModuleNotFoundError: No module named ‘tensorflow_datasets‘”错误的全面指南

成功解决“ModuleNotFoundError: No module named ‘tensorflow_datasets’”错误的全面指南 在Python编程和深度学习项目中&#xff0c;tensorflow_datasets&#xff08;通常简称为tfds&#xff09;是一个非常重要的库&#xff0c;它提供了大量现成的数据集&#xff0c;方便…

日本指数实时API接口

日本 指数 实时API接口 # Restful API https://tsanghi.com/api/fin/index/JPN/realtime?token{token}&ticker{ticker}指定指数代码&#xff0c;获取该指数的实时行情&#xff08;开、高、低、收、量&#xff09;。 更新周期&#xff1a;实时。 请求方式&#xff1a;GET。…

【ARM Cache 与 MMU 系列文章 7.7 – ARMv8/v9 MMU Table 表分配原理及其代码实现 1】

文章目录 MMU Table 表分配原理及其代码实现虚拟地址空间 Region的配置系统物理地址位宽获取 MMU Table 表分配原理及其代码实现 假设当前系统中需要映射多个region&#xff0c;其中第一个要映射的region虚拟地址范围是0x0000_0000 -- 0x8000_0000 一共2G的大小。MMU默认最大支…

探索大模型技术及其前沿应用——TextIn文档解析技术

前言 中国图象图形大会&#xff08;CCIG 2024&#xff09;于近期在西安召开&#xff0c;此次大会将面向开放创新、交叉融合的发展趋势&#xff0c;为图像图形相关领域的专家学者和产业界同仁&#xff0c;搭建一个展示创新成果、展望未来发展&#xff0c;集高度、深度、广度三位…

劳动仲裁避坑指南(收集证据仲裁流程)

前言&#xff1a; 常在河边走&#xff0c;哪能不挨刀。 在大环境不好的滚滚洪流中&#xff0c;老实的IT打工人&#xff0c;一波波的被裁员。随时准备一些材料&#xff0c;特附上准备清单。 参考一些资料&#xff1a;2023年A股上市公司&#xff0c;裁员榜&#xff1a;1、 中国…

el-table动态配置显示表头

在实际工作中&#xff0c;会遇到动态配置e-table表头的情况&#xff0c;如下方法可以实现&#xff1a; // 要展示的列 column: [{prop: name, name: 名称 }, {prop: age, name: 年龄 }, {prop: sex, name: 性别 }, {prop: address, name: 地址 }, {prop: city, name: 城市 }]…

UFS协议—新手快速入门(二)【5-6】

目录 五、UFS协议栈 六、UFS技术演进与详解 1、UFS应用层 设备管理器 任务管理器 2、UFS传输层 3、UFS互联层 UFS协议—新手快速入门&#xff08;一&#xff09;【1-4】 五、UFS协议栈 UFS&#xff08;Universal Flash Storage&#xff09;协议是针对固态存储设备&…

【面试干货】 非关系型数据库(NoSQL)与 关系型数据库(RDBMS)的比较

【面试干货】 非关系型数据库&#xff08;NoSQL&#xff09;与 关系型数据库&#xff08;RDBMS&#xff09;的比较 一、引言二、非关系型数据库&#xff08;NoSQL&#xff09;2.1 优势 三、关系型数据库&#xff08;RDBMS&#xff09;3.1 优势 四、结论 &#x1f496;The Begin…

深圳比创达|EMC与EMI测试整改:确保设备电磁兼容性的关键步骤

在当今电子产品日益普及的时代&#xff0c;电磁兼容性&#xff08;EMC&#xff09;已成为产品设计、制造和测试过程中不可忽视的重要环节。EMC问题不仅影响设备的正常运行&#xff0c;还可能对周围环境和其他设备产生干扰。因此&#xff0c;进行EMC与EMI&#xff08;电磁干扰&a…

【python】修改目标检测的xml标签(VOC)类别名

需求&#xff1a; 在集成多个数据集一同训练时&#xff0c;可能会存在不同数据集针对同一种目标有不同的类名&#xff0c;可以通过python脚本修改数据内的类名映射&#xff0c;实现统一数据集标签名的目的。 代码&#xff1a; # -*- coding: utf-8 -*- # Time : 2023/9/11 1…

EE trade:通缩下什么最保值

通缩&#xff0c;即物价水平总体持续下降的现象&#xff0c;会对经济和投资产生深远影响。在通缩环境下&#xff0c;持有的资产类型和策略需要做出相应调整&#xff0c;以确保资产的保值和增值。以下是几类在通缩环境下通常最保值的资产及其原因&#xff1a; 1. 现金和现金等价…

二十三、 企业可能涉及的数据跨境传输场景有哪些?

&#xff08;一&#xff09;人力资源数据出境场景 1. 公司招聘&#xff08;应聘者个人信息出境&#xff09; 以外企为例&#xff0c;在公司招聘的过程中&#xff0c;可能被认定为涉及数据出境的典型场景如下&#xff1a; a) 境外总部企业官网统一招聘员工&#xff0c;由应聘…

高校实验室危险化学品及重大危险源安全管理系统

高校实验室危险化学品及重大危险源安全管理的重要性&#xff1a; 保障师生安全&#xff1a;通过严格管理&#xff0c;可以有效地降低这些风险&#xff0c;确保师生在实验室内的安全。 确保实验教学质量&#xff1a;良好的危化品管理能够确保实验材料的准确性和可靠性&#xff0…