VueJSの新機能です。私は単純な保存とキャンセルの機能を持つフォームを作成しようとしています。フィールドを作成するためにモデルをバインドするとき、入力が変更されると直ちに更新されますが、私はそのぎっしりとした束縛を望んでいません。代わりに、 "保存"ボタンを押したときに保存して送信し、 "キャンセル"ボタンを押したときに変更を元に戻したいと思っています。保存とキャンセルのオプションを使用したフォームの編集
これを行う方法として、どのような方法がありますか?
送信が失敗した場合は、サーバーの保存状況を表示してフォームに表示することもできれば理想的です。非常に役立つサンプルやサンプルが分かっている場合。ありがとう!これを処理するいくつかの方法がありますJSFiddle
<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>
一般に、フォームからコンポーネントを作成し、必要に応じて変更を送信します。 [ここに例があります](https://stackoverflow.com/a/44791310/38065)。 – Bert
親データを変更せずに[VueJS正しい方法を編集する正しい方法]の複製があります。(https://stackoverflow.com/questions/44790842/vuejs-right-way-to-edit-prop-without-changing-parent-data) –
私はこれがその質問と重複しているとは思わない。この質問は、特に、これが単一のコンポーネントについての親コンポーネントと 'v-model 'の使用法に関する小道具に関するものです。 –