zoukankan      html  css  js  c++  java
  • vue2实现自定义样式radio单选框

    先上效果

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

    js:

    
    data() {
      return {
        radio: '1',
        radios:[
          {
            label: '是',
            value:'1',
            isChecked: true,
          },
          {
            label: '否',
            value:'2',
            isChecked: false,
          },
          {
            label: '全部',
            value:'3',
            isChecked: false,
          },
        ]
      }
    },
    methods: {
      check(index) {
        // 先取消所有选中项
        this.radios.forEach((item) => {
          item.isChecked = false;
        });
        //再设置当前点击项选中
        this.radio = this.radios[index].value;
        // 设置值,以供传递
        this.radios[index].isChecked = true;
        console.log(this.radio);
      }
    }
    

    样式:

    
    .radio-box{
      display: inline-block;
      position: relative;
      height: 25px;
      line-height: 25px;
      margin-right: 5px;
    }
    .radio {
      display: inline-block;
       25px;
      height: 25px;
      vertical-align: middle;
      cursor: pointer;
      background-image: url(../../../common/images/radio.png);
      background-repeat: no-repeat;
      background-position: 0 0;
    }
    .input-radio {
      display: inline-block;
      position: absolute;
      opacity: 0;
       25px;
      height: 25px;
      cursor: pointer;
      left: 0px;
      outline: none;
      -webkit-appearance: none;
    }
    .on {
      background-position: -25px 0;
    }
    

    原文地址:https://segmentfault.com/a/1190000012846991

  • 相关阅读:
    近期目标
    HDU
    BZOJ
    UVALive
    UVA
    HNOI2004 宠物收养所 (平衡二叉树)
    UVA
    HDU
    POJ
    康托展开与逆康托展开模板(O(n^2)/O(nlogn))
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9959548.html
Copyright © 2011-2022 走看看