VUE+TS使用elementUI的el-checkbox双重v-for循环做勾选
在Vue中使用Element UI的el-checkbox
组件进行双重v-for
循环勾选,可以通过维护一个数组来跟踪每个子项的选中状态。以下是一个简单的示例:
<template>
<div>
<div v-for="(group, index) in groups" :key="index">
<div>{{ group.name }}</div>
<el-checkbox-group v-model="selectedItems[index]">
<el-checkbox
v-for="item in group.items"
:key="item.id"
:label="item.name"
></el-checkbox>
</el-checkbox-group>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
@Component
export default class CheckboxGroups extends Vue {
groups = [
{
name: 'Group 1',
items: [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
],
},
{
name: 'Group 2',
items: [
{ id: 3, name: 'Item 3' },
{ id: 4, name: 'Item 4' },
],
},
];
selectedItems: string[][] = this.groups.map(() => []);
}
</script>
在这个例子中,groups
是一个包含多个组的数组,每个组又包含多个items
。selectedItems
是一个数组的数组,其中每个子数组对应一个组的选中项。v-model
绑定到selectedItems[index]
上,这样每个el-checkbox-group
都会维护自己组内勾选项的状态。
评论已关闭