vue 自定义样式radio单选框 样式美化

2019-04-30  本文已影响0人  木西_816c

1、先上图

image.png

2、template


<div class="radio-box" v-for="(item,index) in radios" :key="item.id">
    <span class="radio" :class="{'on':item.isChecked}"></span>
    <input  v-model="sex" :value="item.value" class="input-radio" :checked='item.isChecked'  @click="huoqu(index)" type="radio">{{item.label}}
</div>

3、script

data() {
      return {
        sex: '男',
        radios:[
          {
            label: '男',
            value:'男',
            isChecked: false,
          },
          {
            label: '女',
            value:'女',
            isChecked: false,
          }
        ]
  }
},
methods:{
  huoqu(index){
        // 先取消所有选中项
        this.radios.forEach((item) => {
          item.isChecked = false;
        });
        //再设置当前点击项选中
        this.sex = this.radios[index].value;
        // 设置值,以供传递
        this.radios[index].isChecked = true;
      },
}
上一篇下一篇

猜你喜欢

热点阅读