vue单选按钮 按钮格式为图片

单选 专栏收录该内容
1 篇文章 0 订阅

在这里插入图片描述

vue中不使用`<input type="radio"/>`实现单选 多个选项

html部分

<ul>
        <li v-for="(item,index) in arr" :key="item.id" @click="chooseClick(index)">
          <span>
            <img v-if="item.isChoose" src="./img/choose.png" alt />
            <img v-else src="./img/chooseno.png" alt />
          </span>
          <span>{{item.title}}</span>
        </li>
</ul>

js部分

data() {
    return {
      n: 6,
      arr: [
        { id: "1", title: "选项1", isChoose: false },
        { id: "2", title: "选项2", isChoose: false },
        { id: "3", title: "选项3", isChoose: false },
        { id: "4", title: "选项4", isChoose: false },
        { id: "5", title: "礼", isChoose: false },
        { id: "0", title: "其他问题", isChoose: false }
      ],
      imgarr: []
    };
  },
  methods:{
      chooseClick(index) {
      //选择问题类型
      for (let i = 0; i < this.arr.length; i++) {
        if (index == i) {
        	//选中之后可以进行取消
          // this.arr[index].isChoose = !this.arr[index].isChoose;
          //选中之后不可取消  必须有一个是选中的
          this.arr[index].isChoose = true;
          this.n = index;
        } else {
          this.arr[i].isChoose = false;
        }
      }
    },
.questionType {
  font-size: 0.14rem;
  text-align: left;
  padding: 0.1rem 0.15rem;
  padding-bottom: 0rem;
  box-sizing: border-box;
  p {
    letter-spacing: 1px;
    font-size: 0.14rem;
    padding-bottom: 0.15rem;
    box-sizing: border-box;
  }
  ul {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    li {
      width: 50%;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 0.1rem 0rem;
      padding-left: 0.1rem;
      box-sizing: border-box;
      border-top: 1px solid #ccc;
      span:nth-child(1) {
        display: block;
        margin-right: 0.1rem;
        img {
          width: 0.12rem;
          height: 0.12rem;
          vertical-align: middle;
        }
      }
      span:nth-child(2) {
        font-size: 0.12rem;
        color: #777;
      }
    }
  }
}


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值