99网
您的当前位置:首页element表单先编辑后新增resetFields()无效的坑

element表单先编辑后新增resetFields()无效的坑

来源:99网

问题:

新增和编辑是同一个表单。

先新增后编辑,编辑弹框可以正常赋值;

先编辑后新增,新增弹框会初始化编辑的数据;

原因:

resetFields()方法是初始化值,并不是清空所有值。这个初始值是在form mounted生命周期被赋值上去的。所以,在form mounted之前,如果form表单赋值了,那么后面调用resetFields()都是无效的,因为form表单的初始值已经在mounted之前就被赋值了

解决方法:

在form mounted之后进行赋值操作即可,就是在编辑赋值之前调用nextTick方法。

const openLayer = ((type, data) => {
    openLayer.value = true
    if (type == 'add') {

    } else {
        nextTick(() => {
            form.name = data.name
        })
    }
})

因篇幅问题不能全部显示,请点此查看更多更全内容