Element之el-date-picker表单校验(数组类型数据校验)和数据回显问题

校验规则
rules: {
	dateRange: [{
		type: 'array',
		required: true,
		message: '请选择日期区间',
		fields: {
			0: {
				 // type: 'string', //tpye类型试情况而定,所以如果返回的是date就改成date
				required: true,
				trigger: "change",
				message: '请选择开始日期'
			},
			1: {
				type: 'string',
				required: true,
				trigger: "change",
				message: '请选择结束日期'
			}
		}
	}]
}
日期赋初值

$set方法,如果直接使用=,后续修改和清除都会失效

...
//日期区间回显
this.$set(this.formData, 'dateRange', [res.data.startDate, res.data.endDate])
<template>
	<el-form ref="formRef" :model="formData" :rules="rules" label-width="125px">
		<el-form-item label="销售时间" prop="timeRange">
			<el-date-picker
				v-model="formData.timeRange"
				size="small"
				value-format="yyyy-MM-dd HH:mm:ss"
				type="datetimerange"
				@change="handleInput"
				range-separator="-"
				start-placeholder="开始时间"
				end-placeholder="结束时间"
			></el-date-picker>
		</el-form-item>
		...
	</el-form>
</template>

<script>
export default {
	data() {
		return {
			// 表单数据
			formData: {},
			rules: {
				timeRange: [{
				  type: 'array',
				  required: true,
				  message: '请选择日期区间',
				  fields: {
				    0: {
							// type: 'string', //tpye类型试情况而定,所以如果返回的是date就改成date
				      required: true,
				      trigger: "change",
				      message: '请选择开始日期'
				    },
				    1: {
				      required: true,
				      trigger: "change",
				      message: '请选择结束日期'
				    }
				  }
				}],
			}
		};
	},

	methods: {
		...
	// 刷新input
		handleInput() {
			this.$forceUpdate();
		},
	}
};
</script>
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凡小多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值