我是靠谱客的博主 顺心过客,最近开发中收集的这篇文章主要介绍vue label input 实现复选框,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<template>
  <div>
    <div class="box">
      <label
        id="label"
        :for="item3"
        :title="item3"
        :class="{ bg: checkedValue.includes(item3) }"
        @click="chooseType($event, index3)"
        v-for="(item3, index3) in type"
        :key="index3"
      >
        <input
          type="checkbox"
          :value="item3"
          :id="item3"
          v-model="checkedValue"
        />
        <div class="name">{{ text(item3) }}</div>
      </label>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      checkedValue: [],
      type: [
        "中国中国中国中国中国中国",
        "美国",
        "日本",
        "中国1",
        "美国2",
        "日本3",
        "中国4",
        "美国5",
        "日本6",
      ],
    };
  },
  mounted() {},
  methods: {
    chooseType(e, index) {
      if (e.target.checked) {
        this.checkedValue.push(e.target.defaultValue);
        console.log(this.checkedValue.includes(e.target.defaultValue));
      } else {
        this.checkedValue = this.checkedValue.filter(
          (item) => item != e.target.defaultValue
        );
      }
      console.log(this.checkedValue, index);
    },

    text(texts) {
      return texts;
    },
  },
};
</script>

<style lang="scss" scoped>
.box {
  width: 600px;
  display: flex;
  flex-wrap: wrap;
}

.bg {
  color: #ccc;
  background: chocolate;
}

.box label {
  display: flex;
  align-items: center;
  margin: 0 10px;
  cursor: pointer;
  padding: 5px;
  margin-bottom: 10px;
  border-radius: 3px;
}

.box label input {
  cursor: pointer;
}

.box .name {
  margin-left: 8px;
}
</style>

最后

以上就是顺心过客为你收集整理的vue label input 实现复选框的全部内容,希望文章能够帮你解决vue label input 实现复选框所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部