TDesign Dialog 关闭后怎么清除表单数据?
我在用 TDesign 的 Dialog 组件做编辑弹窗,里面有个表单。现在问题是,关闭对话框后再打开,表单里还留着上次的数据,这肯定不行啊。
我试过在 on-close 里手动清空数据,但好像时机不对,有时候没生效。是不是应该用别的生命周期?或者 TDesign 有自带的清除机制?
这是我的 Dialog 用法:
<t-dialog v-model:visible="showDialog" @close="handleClose">
<t-form :data="formData">
<t-form-item label="名称">
<t-input v-model="formData.name" />
</t-form-item>
</t-form>
</t-dialog>
然后 handleClose 里就写了 formData = { name: '' },但有时候还是残留旧值,到底该咋整?
formData = { name: '' }这样赋值会丢失响应性,应该用 Object.assign 或者分开属性赋值。代码给你:
如果还不行,可以在dialog的visible变化时处理,这样更稳:
实测这些方法都能清干净,看你自己习惯用哪个。我一般用watch方案,不容易漏掉各种关闭场景。