【发布时间】:2020-01-21 14:36:10
【问题描述】:
在我正在开发的应用程序中,我们有许多模式,每个模式都包含少量数据,通常是 2-3 个字段,有时是复选框、列表等。
问题是如何在组件关闭时从内部重置/销毁组件。原因有两个:
1) 不必清除每个模式上的单个数据字段。
2)第二次打开模式时,道具上的观察者将再次被触发(一些模式是“编辑”,因此是预先填充的,我宁愿不管理这些数据)。
现在,如果模态是从外部关闭的,那么我可以更改组件上的键,这将解决问题,因为模态是从组件内部关闭的,那么我不知道我是否可以这样做(会很棒) .
你如何设置你的模态?什么是干净的架构?
示例代码:
<parentComp>
<customChildModal ref="$customChildModal"></customChildModal>
</parentComp>
// customChildModal
<v-dialog v-model="dialogState">
<v-text-field v-model="name">
...
</v-text-field>
<v-btn @click="dialogState = false">Cancel</v-btn>
<v-btn @click="saveSomething">Save</v-btn>
...
data(){
return {
dialogState: false,
name: ''
...
现在在某些情况下,我实际上有很多字段,我需要在每次关闭模式时清除它们。这需要涵盖单击“取消”的情况,以及用户在我支持的模式或 ESC 键之外单击的情况。
【问题讨论】:
标签: javascript vue.js vuejs2