1. 关于表单的bug
1.1 给表单赋值后,清空表单会出现第一次出现的数据
出现情况:
当调用dialog时,给表单赋值,关闭dialog时,清空数据后,表单会出现第一次赋值的结果,一闪而过
原因分析:
在dialog弹出表单的时候,我们需要给这个表单赋值,无论是从前端或者后台获取数据后赋值如
handleUpdate (row) {
getObj(row.id).then(response => {
this.form = response.data.result
})
}
以上是直接赋值,第一次弹出dialog就会出现这个bug,是因为dialog第一次弹出,还没有创建结束就赋值了,然后form就会被赋一个固定的初值,在关闭dialog时,这个初值是清空不掉的,所有在
this.$refs[‘form’].resetFields()
或者手动清空,会闪出第一次赋的值。
解决办法:
在dialog创建结束后才赋值,this.$nextTick(function(){赋值})
handleUpdate (row) {
getObj(row.id).then(response => {
this.$nextTick(function(){
this.form = response.data.result
})
})
}