【发布时间】:2018-02-20 07:47:19
【问题描述】:
我是 VueJS 的新手。我正在尝试创建一个具有简单保存和取消功能的表单。将模型绑定到表单字段时,它们会随着输入的更改而立即更新,但我不想要那种紧密的绑定。相反,我希望能够在按下“保存”按钮时保存并提交,并在按下“取消”按钮时恢复更改。
建议的 Vue 方法是什么?
如果我们可以显示服务器保存状态并在提交失败时在表单上指出它也是理想的。如果您知道任何非常有用的示例或示例。谢谢!
<template>
<div id="app">
<div>
First Name:
<input type="text" v-model="user.firstName" :disabled="!isEditing"
:class="{view: !isEditing}">
</div><div>
Last Name:
<input type="text" v-model="user.lastName" :disabled="!isEditing"
:class="{view: !isEditing}">
</div>
<button @click="isEditing = !isEditing">
{{ isEditing ? 'Save' : 'Edit' }}
</button>
<button v-if="isEditing" @click="isEditing = false">Cancel</button>
</div>
</template>
<script>
var app = new Vue({
el: '#app',
data: {
isEditing: false,
user: {
firstName: 'John',
lastName: 'Smith'
}
}
})
</script>
<style>
.view {
border-color: transparent;
background-color: initial;
color: initial
}
</style>
【问题讨论】:
-
一般来说,从表单中创建一个组件,当你想要的时候发出变化。 Here is an example.
-
我不认为这是该问题的重复。该问题专门针对来自父组件的道具,其中涉及单个组件以及
v-model的使用。
标签: vue.js vuejs2 forms vue-component