本文介绍: 最近项目一个动态表单增删改查里面用到选择日期范围,并且做了表单校验,但是在选择日期范围时候已经选择到了但是无法在输入框回显 毫无反应且change事件也处于失效状态

最近项目一个动态表单的增删改查,里面有用到选择日期范围,并且做了表单校验,但是在选择日期范围时候已经选择到了但是无法在输入框内回显 毫无反应且change事件也处于失效状态


一、项目实例图片

在这里插入图片描述

二、部分代码

1.eldatepicker

<el-form :model="dynamicForm" ref="dynamicForm" :rules="rules"> //其他属性省略根据自己需求写上
	<div v-for="(item, index) in dynamicForm.dataList" :key="index">  // 动态表单
	  <el-form-item :prop="`dataList[${index}].desc`" :rules="rules.desc">
		<el-input v-model="item.desc"  type="text" &gt; </el-input&gt;
	  </el-form-item>
	  <el-form-item :prop="`dataList[${index}].num3`">
		<el-date-picker
		    v-model="item.num3"
		    type="monthrange"
		    range-separator="至"
		    start-placeholder="开始日期"
		    end-placeholder="结束日期"
		    :picker-options="pickerOptions"
		    value-format="yyyy-MM"
		    format="yyyy-MM"
		    @input="handleInput($event,index)"  // change失效用input代替
		>
		</el-date-picker>
	  </el-form-item>
	</div>
</el-form>

2.自定义data

	data(){
		retuen {
			rules: {},
			dynamicForm:{
				dataList: [
					num3: [],
					desc: ''
				]
			}
		}
	}

3.methods

handleInput (val, index) {
	if (val) {
        // 反显
        this.$set(this.dynamicForm.dataList[index].num3, 0, val[0])
        this.$set(this.dynamicForm.dataList[index].num3, 1, val[1]) //数组索引响应使用$set改变对应
      } else {
        // 清空
        this.$set(this.dynamicForm.dataList[index].num3, 0, '')
        this.$set(this.dynamicForm.dataList[index].num3, 1, '')
      }
}

原文地址:https://blog.csdn.net/miem_yang/article/details/132565903

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_23308.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注