javascript - 如何在选中 vuetify 中的一个复选框时选中所有复选框?

标签 javascript vue.js vuetify.js

我通过for循环动态创建了5个复选框

<v-checkbox 
    v-model="selectAll"
    label="Select All"
    @change="select_All($event)"
></v-checkbox>

<template v-for="n in 5">
    <v-checkbox 
       v-model="selected[n]"
    ></v-checkbox>
</template>

在脚本中

data(){
    return{
        selected:[],
                selectAll: false
    }
},
methods:{
    select_All(e){
        if(e == true)
        {
            // check all the checkbox
        } else {
            // uncheck all the checkbox
        }
    }
}

这就是我动态创建复选框的方式,(如果您对如何创建动态复选框有更好的建议,请告诉我) 现在我上面有一个复选框,如果我单击(选中)该复选框,则应该选中下面的所有复选框,反之亦然。

最佳答案

下面是一个使用 computed 的例子:

new Vue({
  el: '#app',
  data: {
    selected: [],
    count: 5
  },
  computed: {
    selectedAll: {
      set(val) {
        this.selected = []
        if (val) {
          for(let i = 1; i <= this.count; i++) {
            this.selected.push(i)
          }
        }
      },
      get() {
        return this.selected.length === this.count
      }
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
 <label>
   <input type="checkbox" v-model="selectedAll" />
   Select all
 </label>
  <ul>
    <li v-for="n in count">
      <label>
        <input type="checkbox" v-model="selected" :value="n" />
        C {{ n }}
      </label> 
    </li>
  </ul>
</div>

但是我还没有通过vuetify测试过。

关于javascript - 如何在选中 vuetify 中的一个复选框时选中所有复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57752095/

相关文章:

javascript - Highcharts 尝试在列的左侧直接显示标签

javascript - 如何在 javascript alert() 中增加字体大小

vue.js - Vue 组合 API 中的只读目标

javascript - 重置过滤数据 Vue.js

vue.js - VueJS + vue-i18n 路由

javascript - 我正在尝试使用多个 2 数组来绑定(bind) svg 圆的数据,但无法弄清楚如何

webpack - 什么是点菜组件?我应该使用它吗?

vue.js - 将@contextmenu 事件与 vuetify v-data-table 一起使用

vue.js - 无法绑定(bind) v-on :click on Vuetify [Vue warn]: Error in v-on handler: "TypeError: handler.apply is not a function"

javascript - 如果为空,则隐藏列表元素 css/jquery