2
我有以下HTML標記的自定義單選按鈕部件:Vue.JS定製單選按鈕組件需要點擊兩次
<div id="app">
{{message}} - {{sex}}
<radio value="m" v-model="sex" name="sex">Male</radio>
<radio value="f" v-model="sex" name="sex">Female</radio>
</div>
組分(和應用)定義如下:
Vue.component('radio', {
model : {
prop:'checked',
event:'change'
},
props : {
value:null,
name:String
},
data :() => ({
val:''
}),
methods : {
update (e) {
this.$emit('change',e.target.value);
}
},
template:'<div><input :value="value" :name="name" type="radio" v-model="val" @change="update"><slot></slot></div>'
})
var app = new Vue({
el: '#app',
data: {
message: 'selected:',
sex:''
}
})
它正確切換單選按鈕(大部分)。
問題:爲了做到這一點,我必須點擊男性單選按鈕兩次。我希望只能點擊一次來切換它們。也許我沒有正確使用描述here的屬性model
?
我看到了this的問題,但它使用了較舊的Vue(它沒有model
屬性),我不想在父級上捕獲@change(整個構想背後的單獨組件是抽象爲邏輯是可能的)
更新:對於任何有興趣here是解決由於@thanksd
是的,我推翻了解決方案。謝謝! :) – andrei