最近Vue+Vuexはじめました。
いきなり本題ですが、下記のようにv-text-fieldの変更を@changeからメソッドに引き渡し、
idと変更内容を受け取ろうとしてみました。こんな感じで。
<v-text-field
id="text1"
label="テキスト"
@change="updateField($event)"
></v-text-field>
methods: {
updateField(e){
console.log(e.target.id,e.target.value)
},
}
が、、動かないな???なんでかな??
とりあえずinputは動くからinputで受けるか、、、
inputの戻り値はstringで入力した内容だけなので、第2に手動でidを指定してと、、、
<v-text-field
id="text1"
label="テキスト"
@input="updateField($event,'text1')"
></v-text-field>
methods: {
updateField(e,_id){
console.log(e,_id)
},
}
結果
[変更内容] undefined
なんでや!!!
こうしてみたら・・・?
<v-text-field
id="text1"
label="テキスト"
@input="updateField([$event,'text1'])"
></v-text-field>
methods: {
updateField(e){
console.log(e)
},
}
結果
(2) ["[変更内容]", "text1"]
ヤレバデキルジャン☺️
しかしなぜ@changeが効かないのか・・・。
あんまりこのやり方もスマートではないので解決策が欲しいところ。
ちなみに、
updateField({id:'text1',value:$event})
とオブジェクトでこんなふうにも渡せます。こっちのが一般的か。