需求及问题
当某些意料之外的操作后,提示信息会一直保留到提交表单后才会清空消失。实际上数据是正确的但是校验提示信息却没有消失。
底层原因还是数据的双向响应问题,数据改变了但是监听事件没被触发,导致dom没有被重新渲染。
解决方案
/**
* 单项校验信息重置
*
* @param {String} refName 要触发的表单ref名字
* @param {String} propName 要清除的表单属性名字
*/
validateField(refName, propName){
this.$nextTick(() => {
this.$refs[refName].validateField(propName, (valid) => {
if (!valid) return;
})
})
}
网友评论