我通过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
        }
    }
}


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

最佳答案

您可以遍历选定的数组以使所有索引都为true,但是在第一次使用时,您必须从其他来源而不是选定的数组中获取复选框的长度。(我在这里使用refs来计数复选框)

该代码将如下所示

<v-checkbox
  ref="n"
  v-model="selected[n]"
></v-checkbox>


select_All(e){
        if(e == true)
        {
          this.$refs.n.forEach((val, index) => this.selected[index] = true)
        } else {
            this.$refs.n.forEach((val, index) => this.selected[index] = false)
        }
    }

09-25 16:48
查看更多