1. input校验, 可以直接在输入的时候用正则校验
<el-input
v-model.number="scope.row.ratio"
oninput="value = value.replace(/[^\d]/g, '')"
></el-input>
2. 遇到弹窗里面嵌入表单检验,关闭弹窗后,再打开弹窗,出现上一次校验的情况没有清空。element-ui 的话,记得手动清空校验。
this.$refs[this.currentForm].resetFields();
3. 遇到清空data的操作,如果是一下子清空很多值,有个简便方法。
实例创建之后,可以通过 vm. d a t a 访 问 原 始 数 据 对 象 。 V u e 实 例 也 代 理 了 d a t a 对 象 上 所 有 的 p r o p e r t y , 因 此 访 问 v m . a 等 价 于 访 问 v m . data 访问原始数据对象。Vue 实例也代理了 data 对象上所有的 property,因此访问 vm.a 等价于访问 vm. data访问原始数据对象。Vue实例也代理了data对象上所有的property,因此访问vm.a等价于访问vm.data.a。
vue中:
this.$data 获取当前状态下的data
this.$options.data() 获取该组件初始状态下的data
所以,下面就可以将初始状态的data复制到当前状态的data,实现重置效果:
Object.assign(this.$data, this.$options.data())
当然,如果你只想重置data中的某一个对象或者属性:
this.form = this.$options.data().form
在项目里,就可以封装一个方法,一下清空多个值
resetData(property) {
if (property && property.length > 0) {
property.forEach(e => {
this[e] = Object.assign(this.$data[e], this.$options.data()[e]);
});
}
},