Ant Design Vue教程

Ant Design Vue Radio单选框用法

Ant Design Vue Radio单选框用法,应用场景多个选项只能选中其中一个,使用选项都默认可见,使用选项不宜过多。Ant Design提供了传统的Radio样式外也提供了按钮组风格的样式。

Radio标签

<a-radio>Radio</a-radio>

单选组合

基础用法提供value属性设置默认选中项

<template>
  <div>
    <a-radio-group v-model="value" @change="onChange">
      <a-radio value="a">
        选项 A
      </a-radio>
      <a-radio value="b">
        选项 B
      </a-radio>
      <a-radio value="c">
        选项 C
      </a-radio>
      <a-radio value="d">
        选项 D
      </a-radio>
    </a-radio-group>
  </div>
</template>
<script>
export default {
  data() {
    return {
      value: 'c',
    };
  },
  methods: {
    onChange(e) {
      alert('你选中的是:'+ e.target.value);
    },
  },
};
</script>

根据数据生成Radio组,并设置默认值和禁止选中的项

<template>
  <div>
    <a-radio-group v-model="defValue" @change="onChange">
      <a-radio :value="item.value"
       :checked="item.checked" 
       :disabled="item.disabled" 
        v-for="item in options"
       :key="item.value">
        {{item.name}}
      </a-radio> 
    </a-radio-group>
  </div>
</template>
<script>
//定义选项数组
  var options=[
    {checked:false,disabled:false,value:'A',name:'选项A'},
    {checked:true,disabled:false,value:'B',name:'选项B'},
    {checked:false,disabled:true,value:'C',name:'选项C'}, //禁止选中
    {checked:false,disabled:false,value:'D',name:'选项D'},
  ];

export default {
  data() {
    return { 
      options
    };
  },
  methods: {
    //选中事件
    onChange(e) {
      alert('你选择了'+e.target.value);
    },
  },
  computed:{
       //计算属性
        defValue:function(){
           var val= options.filter(function(m){
             return  m.checked===true;
           }); 
            return val[0].value;
        },
  },
  mounted(){
    //动态设置选中项
    var that=this;
    setTimeout(function(){
      that.options.forEach(m=>{
        m.checked=false;
      });
       that.options[that.options.length-1].checked=true;
    },3000)
  }
};
</script>

例子

RadioGroup 垂直显示

<template>
  <div>
    <a-radio-group v-model="value" @change="onChange">
      <a-radio :style="radioStyle" value="a">
        选项 A
      </a-radio>
      <a-radio :style="radioStyle" value="b">
        选项 B
      </a-radio>
      <a-radio  :style="radioStyle" value="c">
        选项 C
      </a-radio>
      <a-radio :style="radioStyle" value="d">
        选项 D
      </a-radio>
    </a-radio-group>
  </div>
</template>
<script>
export default {
  data() {
    return {
      value: 'c',
        radioStyle: {
        display: 'block',
        height: '30px',
        lineHeight: '30px',
      },
    };
  },
  methods: {
    onChange(e) {
      alert('你选中的是:'+ e.target.value);
    },
  },
};
</script>
Catalog
快速入门 Dropdown 下拉菜单 Menu 导航菜单 Pagination 分页 Steps 步骤条 AutoComplete 自动填充 Cascader 级联选择 Checkbox 多选框 DatePicker 日期选择框 Input 输入框 InputNumber 数字输入框 Mentions 提及 Radio 单选框 Radio 单选框用法 Radio 单选框分组 Radio 按钮样式 Radio 属性事件 Rate 评分组件 Select 下拉框 Slider 滑动输入条 Switch 开关