老大说 select
不方便。让我改成 radio
组的样子,然而我是个前端菜鸡(T-T)。跪求大佬解答 Orz
var temp = '<label class="btn btn-default" :for="id">{{ name }}'
+ '<input :id="id" type="radio" :value="id" :checked="checkVal" @change="update"></label>';
Vue.component('radio-tag', {
template: temp,
model:{
prop: 'modelVal',
event: 'change'
},
props: {
id: String,
name: String,
selected: String,
modelVal: ''
},
computed: {
checkVal () {
alert('check');
return this.modelVal = this.id;
}
},
methods: {
update() {
alert('update');
this.$emit('change', this.modelVal);
}
}
});
<div class="btn-group" data-toggle="buttons">
<radio-tag v-for="item in items" :id="item.id" :name="item.name" :selected="s" v-model="s"></radio-tag>
</div>
radio
点击就没有反应, checkVal
和 update
都没进。更没有把点的 radio
值绑定到 s
上了。
1
0Kelvin OP 凉了凉了。看样子是问题太弱,没大佬感兴趣呢= =
|
2
EridanusSora 2017-11-29 18:21:38 +08:00
:selected="s"
s 是啥? 然后用 v-for 的话不加 key Vue2.x 会报错的啊,你这肯定一堆报错了感觉...先看看报错吧 |
3
wkan 2017-11-29 18:26:22 +08:00 via iPhone
看到这个 alert ……你一定没有看这开发者工具调试
|
4
cornelia 2017-11-29 18:33:24 +08:00
<input type="radio" value="1" v-model="type" id="type-1"> <label class="cur-p" for="type-1" style="text-align: left;">type-1</label>
<input type="radio" value="2" v-model="type" id="type-2"> <label class="cur-p" for="type-2" style="text-align: left;">type-1</label> 我是这样写的 |
5
lxy42 2017-11-29 18:37:23 +08:00 1
基于你的思路我改成这样:[https://jsfiddle.net/5wrrLp0r/]( https://jsfiddle.net/5wrrLp0r/)
|
6
0Kelvin OP |
7
wxsm 2017-11-29 20:49:54 +08:00 via iPhone
这种问题建议到 stackoverflow 提问,国外雷锋速度非常快。质量一般也很高。
|