uniapp中uForm的setRules该放在哪里?

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);
}