uni-app 内置组件:RadioGroup

2,709 阅读1分钟

radio-group 组件是一组中只能选择一个 radio 的组合。

API

以下是 radio-group 组件的 API 介绍:

属性列表

  • name<radio-group/> 中的 <radio/> 组件的 name 属性一致时,所有 <radio/> 属于同一组。

事件列表

  • change<radio/> 标签的 value 属性发生变化时,触发 change 事件,event.detail = {value: 选中项radio的value}

示例

以下是 radio-group 组件在页面中的使用示例:

<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 部分:

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 官方文档