elementui el-date-picker日期组件(范围) 已选页面显示失效、change事件失效以及动态表单循环写法

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


一、项目实例图片

在这里插入图片描述

二、部分代码片

1.el-date-picker

<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" > </el-input>
	  </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, '')
      }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值