Warning: You cannot set a form field before rendering a field associated with the value.
问题: 在使用ant design vue时,发现给form表单设置值时会报这个错,且第一次打开编辑窗口给form表单赋值时,是空白的,之后再次打开才会显示正常。
分析: 直译这句话为 在呈现与值关联的字段之前,不能设置窗体字段。
即为不能在表单渲染之前赋值
参考别人的博客发现大多解释是多给form传了字段。this.form.setFieldsValue时多传字段。
检查代码,发现并没有多传依然报错。
既然警告不能再表单渲染前赋值,那就是说赋值的操作在渲染之前,那就考虑用任务队列解决,
首先用$nextTick({}),未解决,微任务不行
换用setTimeOut({},1)仍然未解决,直接加宏任务也不行
$nextTick({
setTimeOut({},1)
}),
解决问题,先记着,回头思考