Vue中数组循环添加单选框问题
今天在写一个通过v-for来循环数组,并且在每一条数据中添加单选框功能。然后这边的写法与正常添加单选框参数有点不一样,如下。1、常规情况下添加单选框:<body><div id="example-4">====================正常添加单选框====================<br><input type=...
·
前言
今天在写一个通过v-for来循环数组,并且在每一条数据中添加单选框功能。然后这边的写法与正常添加单选框参数有点不一样,如下。
1、常规情况下添加单选框:
<body>
<div id="example-4">
====================正常添加单选框====================
<br>
<input type="radio" id="one" value="One" v-model="picked1">
<label for="one">One</label>
<br>
<input type="radio" id="two" value="Two" v-model="picked1">
<label for="two">Two</label>
</div>
</body>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
new Vue({
el: '#example-4',
data: {
picked1: '',
}
})
</script>
</html>
结果如下:
2、通过v-for循环情况下添加单选框:
(1)问题误区:不能直接按照正常的情况下 编辑 id value for 三个参数
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="example-4">
====================通过vue数组循环添加单选框====================
<br>
<div v-for="item in sum">
<input type="radio" id="item.order" value="item.value" v-model="picked2">
<label for="item.order">{{item.value}}</label>
</div>
</div>
</body>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
new Vue({
el: '#example-4',
data: {
picked2: '',
sum: [
{ order: "one",value: "One"},
{ order: "two",value: "Two"}
]
}
})
</script>
</html>
结果如下:当你随便选择一个单选框时,所有的单选框都会被选中。
(2)解决方案:需要在 id value for 前面都添加一个 冒号,例如: “:id” “:value” ":for"
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="example-4">
====================通过vue数组循环添加单选框====================
<br>
<div v-for="item in sum">
<input type="radio" :id="item.order" :value="item.value" v-model="picked2">
<label :for="item.order">{{item.value}}</label>
</div>
</div>
</body>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
new Vue({
el: '#example-4',
data: {
picked2: '',
sum: [
{ order: "one",value: "One"},
{ order: "two",value: "Two"}
]
}
})
</script>
</html>
结果如下:功能跟正常情况下一样。
更多推荐
已为社区贡献2条内容
所有评论(0)