antd的upload上传组件,上传成功后清除表单校验——基础积累

news2024/9/23 19:29:12

今天在写后台管理系统时,发现之前的一个bug,就是antdupload上传组件,需要进行表单校验。

在这里插入图片描述
直接上代码:

1.html部分

 <a-form-model
      ref="ruleForm"
      :model="form"
      :label-col="labelCol"
      :wrapper-col="wrapperCol"
      :rules="rules"
    >
    xxxxxxxxx
      <a-form-model-item label="导入" prop="fileList" ref="upload">
        <a-upload
          name="file"
          :multiple="true"
          action="xxxxx/template-data"
          accept=".xlsx"
          :customRequest="customRequest"
          :fileList="form.fileList"
          :remove="handleRemove"
        >
          <a-button type="primary">
            <a-icon type="cloud-upload" /> 导入
          </a-button>
        </a-upload>
      </a-form-model-item>
      xxxxxxx
</a-form-model>

2.js部分

export default{
	data(){
		return{
			form:{},
			formData:null,
			rules: {
		        quoteSupplierCode: [
		          { required: true, message: '请选择供应商', trigger: 'change' },
		        ],
		        fileList: [
		          { required: true, message: '请上传文件', trigger: 'change' },
		        ],
		      },
		}
	}
}

2.1 上传成功的方法——customRequest

customRequest(files) {
  let file = files.file;
  this.form.fileList = [file];
  this.$forceUpdate();
  this.formData = new FormData();
  this.formData.append('StreamContent', file);
  //this.$refs.ruleForm.clearValidate('fileList'); //清除图片校验文字——这个方法不生效
  delete this.rules['fileList'];
},

this.$refs.ruleForm.clearValidate(‘fileList’); //清除图片校验文字——这个方法不生效
delete this.rules[‘fileList’]; 这个是生效的,而且页面上 导入 字段左边还是有必填校验的,只是不会走校验而已

2.2 移除文件的方法——handleRemove

handleRemove() {
  this.form.fileList = [];
  this.formData = null;
  this.$forceUpdate();
  this.rules['fileList'] = {
    required: true,
    message: '请上传文件',
    trigger: 'change',
  };
},

2.3 表单校验方法——handleOk

handleOk() {
  const form = this.$refs.ruleForm;
  form.validate((valid) => {
    if (valid) {
		xxxxxx
	}
  })
}

3.注意:该页面/弹窗打开的时候,需要添加下面的代码,否则就直接没有文件导入的校验了!!!

我这边是弹窗,所以是在showModal方法里面写的:

showModal(ids) {
  this.visible = true;
  this.form = { ids: ids, isDelete: true, deliveryDays: 5 };
  this.$nextTick(() => {
    this.$refs.ruleForm.clearValidate();
    this.rules['fileList'] = {
      required: true,
      message: '请上传文件',
      trigger: 'change',
    };
  });
},

总结:使用clearValidate(['指定Prop'])或者clearValidate('指定Prop')是不生效的,然后我使用的方法就是上传文件成功后,将rules中的文件prop删除,也就是delete obj['指定prop'],然后在删除文件或者该页面第一次打开时,给rules添加指定prop的校验规则。

使用clearValidate(['指定Prop'])或者clearValidate('指定Prop')是不生效的,然后我使用的方法就是上传文件成功后,将rules中的文件prop删除,也就是delete obj['指定prop'],然后在删除文件或者该页面第一次打开时,给rules添加指定prop的校验规则

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轻量限制流量?阿里云轻量应用服务器月流量包收费说明

阿里云轻量应用服务器部分套餐限制月流量&#xff0c;轻量应用服务器按照套餐售卖&#xff0c;有的套餐限制月流量&#xff0c;有的不限制流量。像阿里云轻量2核2G3M带宽轻量服务器一年108元和轻量2核4G4M带宽一年297.98元12个月&#xff0c;这两款是不限制月流量的。阿里云百科…

c语言练习题82:顺序表的使用

顺序表的使用 1、顺序表的概念及结构 线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是⼀种在实际中⼴泛使 ⽤的数据结构&#xff0c;常⻅的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性…

基于工业5G网关的工业机器人监测控制方案

随着智能制造、自动化生产的发展进步&#xff0c;工业机器人的身影越来越多地出现在工厂现场&#xff0c;成为新型无人化、智能化生产制造的中坚力量。 工业机器人的运行伴生着海量的数据采集、传输、分析和反馈执行&#xff0c;因此也需要高速、低延迟的5G网络&#xff0c;支撑…

Oracle 云服务即将支持 PostgreSQL!

2023 年 9 月 19 日&#xff0c;Oracle 产品团队发布了一篇文章&#xff0c;宣布 Oracle 云基础架构&#xff08;OCI&#xff09;开始提供 PostgreSQL 服务。目前支持的版本为 PostgreSQL 14.9&#xff0c;提供有限支持&#xff0c;12 月份将会提供正式版本。 众所周知&#x…

网络原理之TCP_IP

目录 应用层重点协议 传输层重点协议 1.UDP协议 (一)UDP协议段格式 (二)UDP的特点 无连接 不可靠传输 面向数据报 全双工 缓冲区 大小受限 (三)基于UDP的应用层协议 (四)面试题 2.TCP协议 (一)TCP协议段格式 (二)TCP的特点 有连接 可靠传输 面向字节流 缓冲…

竞赛选题 深度学习 python opencv 火焰检测识别

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

Vue数据代理的原理

一、Object.defineProperty方法 我们可以使用一个Object.defineProperty方法给一个对象添加属性&#xff0c;并对该属性进行权限设置 语法格式如下&#xff1a; Object.defineProperty(对象 , "属性名" , { // 配置项 }) let Person {name:"寻霖",age:1…

HTTP协议的请求协议和响应协议的组成,HTTP常见的状态信息

HTTP协议 什么是协议 协议实际上是某些人或组织提前制定好的一套规范,大家只要都按照这个规范来就可以做到沟通无障碍 HTTP协议是W3C(万维网联盟组织)制定的一种超文本传输通信协议(发送消息的模板和数据的格式),除了传送字符串,还有声音、视频、图片等流媒体等超文本信息 …

单目3D目标检测——SMOKE 模型推理 | 可视化结果

本文分享SMOKE的模型推理&#xff0c;和可视化结果。以kitti数据集为例子&#xff0c;对训练完的模型进行推理&#xff0c;并可视化3D框的结果&#xff0c;画到图像中。 关于模型原理、搭建开发环境、模型训练&#xff0c;可以参考之前的博客&#xff1a; 【论文解读】SMOKE …

【分享】Word文档“只读方式”的两种模式

如果想要防止Word文档的内容被意外更改&#xff0c;可以设置成以“只读方式”打开&#xff0c;这样就算更改了也不用担心不小心保存了文档。 Word文档“只读方式”有两种模式&#xff0c;下面我们来看看这两种模式具体是如何设置的。 模式一&#xff1a;无密码的“只读方式” …

基于YOLOv5、YOLOv8的火灾检测(超实用项目)

目录 1.简介 2.YOLO算法 3.基于YOLOv5、YOLOv8的火灾检测 视频已上传b站 YOLOv5/YOLOv8的火灾检测&#xff08;超实用项目&#xff09;_哔哩哔哩_bilibili 本文为系列专栏&#xff0c;包括各种YOLO检测算法项目、追踪算法项目、双目视觉、深度结构光相机测距测速三维测量项…

基于黏菌优化的BP神经网络(分类应用) - 附代码

基于黏菌优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于黏菌优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.黏菌优化BP神经网络3.1 BP神经网络参数设置3.2 黏菌算法应用 4.测试结果&#xff1a;5.M…

教你如何『SSH』远程连接『内网』服务器

前言 最近博主实验室要搬家&#xff0c;因为服务器只有连接内网才能使用&#xff0c;所以搬走之后就无法在公网连接使用服务器&#xff0c;确实是让人非常苦恼&#xff0c;所以本文将会主要讲解如何使用公网服务器 SSH 连接内网服务器 系统配置 内网服务器&#xff1a;Ubuntu …

【配置vscode编写Java代码和输出在外部控制台】

配置vscode编写Java代码和输出在外部控制台 打开vscode&#xff0c;扩展中搜索java安装如下插件&#xff0c; 安装完成后&#xff0c;打开一个文件夹&#xff0c;新建hello.java文件&#xff0c;粘贴下面代码 public class hello {public static void main(String[] args) {S…

【Python】win安装

目录标题 下载目录安装步骤验证是否安装成功linux 、MacOs 安装 下载目录 https://www.python.org/downloads/ 安装步骤 验证是否安装成功 进入命令行&#xff0c;输入 &#xff1a; python 出现版本号即查看成功&#xff1a; linux 、MacOs 安装 Python 安装到 Linux 上…

小黑子—MyBatis:第三章

MyBatis入门3.0 七 小黑子使用javassist生成类7.1 Javassist的使用7.2 javassist生成动态类并实现接口7.3 工具类GenerateDaoProxy的编写7.3.1 每一个方法体的动态拼接7.3.2 MyBatis的getMapper方法 八 MyBatis中接口代理机制及使用8.1 面向接口的方式进行CRUD8.1.1 步骤18.1.2…

idea将jar包deploy到本地仓库

1、pom.xml文件引入配置&#xff0c;如下参考&#xff1a; <distributionManagement><snapshotRepository><id>maven-snapshots</id><url>http://nexus1.coralglobal.cn/repository/maven-snapshots/</url></snapshotRepository><…

2023全网最火的接口自动化框架对比 (建议收藏)

一、前言 自动化测试是把将手工驱动的测试行为转化为机器自动执行&#xff0c;通常操作是在某一框架下进行代码编写&#xff0c;实现用例自动发现与执行&#xff0c;托管在 CI/CD 平台上&#xff0c;通过条件触发或手工触发&#xff0c;进行回归测试&线上监控&#xff0c;…

四川竹哲电子商务有限公司抖音培训的靠谱选择

在今天的数字时代&#xff0c;抖音已经成为企业和个人必备的营销工具。然而&#xff0c;如何充分利用抖音的潜力&#xff0c;实现最大的营销效果&#xff0c;却让许多人感到困惑。四川竹哲电子商务有限公司正是为了解决这一问题而存在的。作为一家专业的抖音培训公司&#xff0…

Windows 7或10 - 删除进程方法,解决端口占用问题 - taskkill 命令删除进程

目录 一、正常删除进程Windows 命令 —— netstat&#xff1a; 二、taskkill 命令删除进程参考链接 一、正常删除进程 Windows 命令 —— netstat&#xff1a; 查看 8080 端口占用的进程 PID 号 netstat -ano|findstr "8080"类似如下&#xff1a;&#xff08;笔者…