1. select 设置了multiple 多选,只选择一个的时候,提示校验不通过的信息,但是提交是能通过,选择多个不会提示,按理选择1个或者N个都没问题啊。如下图:
验证规则:
{
type: "array",
required: true,
message: "请选择服务领域!",
trigger: "change"
}
问题原因:
选择的数据有延迟,没有拿到第一个数据,所以数组的长度为0,也就验证不通过了
解决办法:
自定义验证规则,里面通过setTimeout来实现等到拿到第一个数据时进行延迟验证
const selRule = (rule, value, callback) => {
setTimeout(() => {
if (value.length === 0) {
callback(new Error("请选择服务领域."));
} else {
callback();
}
}, 0);
};
2. 日期选择了后,文本框后面出现加载图标,如下图
这个问题跟上个一样,可以自定义验证规则,来实现,我自己出现这个问题,是因为忘记写else了【一定记得要写else{callback();}】
修改后的验证规则:
const validateTime \= (rule, value, callback) \=> {
if (value !== "") {
if (value < this.formData.startTime) {
callback(new Error("截止时间不能早于开始时间!"));
} else {
callback();
}
} else {
callback(new Error("请选择截止日期."));
}
};
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。