radio-group 组件是一组中只能选择一个 radio 的组合。
API
以下是 radio-group 组件的 API 介绍:
属性列表
name:<radio-group/>中的<radio/>组件的name属性一致时,所有<radio/>属于同一组。
事件列表
change:<radio/>标签的value属性发生变化时,触发change事件,event.detail = {value: 选中项radio的value}。
示例
以下是 radio-group 组件在页面中的使用示例:
html
<radio-group name="group1" bindchange="radioChange">
<label class="radio" v-for="(item, index) in radioItems" :key="item.value">
<radio value="{{item.value}}" checked="{{item.checked}}">{{item.name}}</radio>
</label>
</radio-group>
JavaScript 部分:
javascript
export default {
data() {
return {
radioItems: [
{ name: 'Apple', value: 'apple', checked: false },
{ name: 'Banana', value: 'banana', checked: true },
{ name: 'Grape', value: 'grape', checked: false }
]
};
},
methods: {
radioChange: function(e) {
let radioItems = this.radioItems;
for (let i = 0, len = radioItems.length; i < len; ++i) {
radioItems[i].checked = radioItems[i].value === e.detail.value;
}
this.radioItems = radioItems;
}
}
}
在这个示例中,三个 radio 元素被包含在一个 radio-group 里面,用户的选择会触发 radioChange 方法。该方法会遍历所有 radio 项,并将被选中项的 checked 属性设置为 true。
注意,label 组件可以用来增强用户体验,允许用户点击文字选中对应的 radio。
更详细的内容请参考最新的 uni-app 官方文档。