1.setTimeout(() => {}, 500);

===> setTimeout用来解决第一次查看表单没有赋值成功问题

2.this.$nextTick(() => {});

$nextTick是vue的DOM更新队列的下一个tick完成时触发;
===> 在Vue生命周期的created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中

//等DOM加载完之后再给表单赋值
this.$nextTick(() => {
	this.$refs.modelForm.form.setFieldsValue(formValues);
})

3.注意

数据获取有延迟时使用:setTimeout(() => {}, 500);
DOM加载有延迟时使用:this.$nextTick(() => {});

其他见解链接:setTimeout和$nextTick在实际项目中的区别

Logo

前往低代码交流专区

更多推荐