uniapp中uForm的setRules该放在哪里?
一般建议放在vue的生命周期函数mounted()中或uniapp页面的生命周期函数onReady()中
在onLoad或者created时页面可能还未渲染完毕,此时setRules可能会有问题,特别是对页面要根据数据渲染成不同的表单的情况,比如使用了v-if等判断的时候,会导致校验加的有问题。而在mounted和onReady中setRules可以避免这种情况,此时页面已经解析完成,真实的DOM元素已经挂载完毕。
mounted() {
this.$refs.uForm.setRules(this.rules);
}
或
onReady() {
this.$refs.uForm.setRules(this.rules);
}