を使用してselect要素のバインディングつの方法は、私が子供のコンポーネントがあります。ヴュー - V-バインドや小道具
select(v-model="selectedItem", @change="emitChange")
option(:value="{id: '123', value: 'foo'}") 123
option(:value="{id: '456', value: 'bar'}") 456
data: {
selectedItem: '',
},
methods: {
emitChange() {
this.$emit('change', this.selectedItem);
},
}
上記のいずれかが正常に動作します。
しかし、私は<select>
の値を親に依存させたいと思っています。
は、だから私は、次の手順を実行します。親がイベントをキャッチし、selectedItem
を変更します
select(:value="selectedItem", @change="emitChange")
option(:value="{id: '123', value: 'foo'}") 123
option(:value="{id: '456', value: 'bar'}") 456
props: ['selectedItem'],
methods: {
emitChange(e) {
this.$emit('change', e.target.value);
},
}
。
しかし、これは機能しません。 e.target.value
は[object Object]
のようになります。
ここには何が欠けていますか?
私は親から小道具の値を変更すると、変更は、コンポーネントに伝搬されません。これを達成する方法を提案できますか、それとも実際には不可能ですか? – Nakamura
@Nakamura可能ですが、ハードコードされたオブジェクトを使用しています。実際のコードでは、どこかから来るオプション値がありますか?外側から設定するためには、オブジェクトは同じオブジェクトである必要があります。 – Bert
@Nakamura更新。 – Bert