【问题标题】:How can I stop to update data before clicking on update button in edit form?如何在单击编辑表单中的更新按钮之前停止更新数据?
【发布时间】:2019-10-08 12:11:14
【问题描述】:

我正在使用 vue.js 模板,我有一个内容编辑和内容添加表单。当我点击编辑按钮时,我传递了对象以在表单中显示要编辑的数据,但我使用了v-modal,它在点击按钮更新之前显示即时更改。

<v-form v-model="valid" @submit.prevent="updateContact(edit)">
    <v-card-text>
        <v-container grid-list-md>
            <v-layout wrap>
                <v-flex xs12>
                    <v-text-field label="Name" v-model="edit.name"></v-text-field>
                </v-flex>
                <v-flex xs12>
                    <v-text-field label="Designation" v-model="edit.designation"></v-text-field>
                </v-flex>

            </v-layout>
        </v-container>
    </v-card-text>
    <v-card-actions>
        <v-spacer></v-spacer>
        <v-btn color="primary" @click="onEditCancel()">Cancel</v-btn>
        <v-btn color="error" type="submit">Update</v-btn>
    </v-card-actions>
</v-form>   

当我点击编辑按钮时,我点击了以下功能:

onEditContact(contact) {
    this.dialog1 = true;
    this.edit = contact;
},

联系人更新方式:

updateContact(edit){
    console.log(edit);
}

【问题讨论】:

  • 默认将编辑(提交)按钮设置为禁用状态。这里 v-model="valid" 是一个验证表单的布尔值,一旦所有字段都有效,尝试验证表单并启用提交按钮
  • @chandrasekar 感谢您的快速响应,但字段有效或无效是我需要立即停止数据更改并在单击更新按钮时更新数据的另一件事
  • :return-value.sync in v-modal 组件可以解决这个问题

标签: javascript vue.js vuetify.js


【解决方案1】:

如果未保存,您可以通过向 v-dialog 组件添加附加属性来重置表单数据更改

<v-dialog v-model="dialog1"
  ref="editDetails"
  :return-value.sync="edit"
>
</v-dialog>

在updateContact中,如果项目保存正确,您可以保存perfs

this.$refs.editDetails.save(this.edit);

【讨论】:

  • 感谢您的回复,但ref="editDetails" :return-value.sync="edit" 我尝试使用此代码无法正常工作。当我在字段中进行更改然后单击空白区域以隐藏弹出窗口时,它不显示实际数据。它的显示值发生了变化。
  • 嘿!可以给我你的 Skype 用户名吗?
  • 这是我的 id live:vchandras_1
  • 你能给我你的Skype用户名吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 2021-03-27
  • 1970-01-01
  • 2014-01-17
  • 1970-01-01
相关资源
最近更新 更多