mirror of
https://github.com/element-plus/element-plus.git
synced 2025-08-14 10:00:58 +08:00

* perf: change to import-x * feat: add rules * chore: fix rule * chore: fix * chore: fix * chore: fix * style: `pnpm lint:fix` * Revert "style: `pnpm lint:fix`" This reverts commit db0116a288299c507e3cfc4d7a22e2207265d920. * Revert "chore: fix" This reverts commit 69c82a90c01525e38180be4c21e8ef5602512318. * chore: fix * style: `pnpm lint:fix` * fix: lint * chore: `pnpm format`
39 lines
1.0 KiB
Vue
39 lines
1.0 KiB
Vue
<template>
|
|
<el-checkbox
|
|
v-model="checkAll"
|
|
:indeterminate="isIndeterminate"
|
|
@change="handleCheckAllChange"
|
|
>
|
|
Check all
|
|
</el-checkbox>
|
|
<el-checkbox-group
|
|
v-model="checkedCities"
|
|
@change="handleCheckedCitiesChange"
|
|
>
|
|
<el-checkbox v-for="city in cities" :key="city" :label="city" :value="city">
|
|
{{ city }}
|
|
</el-checkbox>
|
|
</el-checkbox-group>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { ref } from 'vue'
|
|
|
|
import type { CheckboxValueType } from 'element-plus'
|
|
|
|
const checkAll = ref(false)
|
|
const isIndeterminate = ref(true)
|
|
const checkedCities = ref(['Shanghai', 'Beijing'])
|
|
const cities = ['Shanghai', 'Beijing', 'Guangzhou', 'Shenzhen']
|
|
|
|
const handleCheckAllChange = (val: CheckboxValueType) => {
|
|
checkedCities.value = val ? cities : []
|
|
isIndeterminate.value = false
|
|
}
|
|
const handleCheckedCitiesChange = (value: CheckboxValueType[]) => {
|
|
const checkedCount = value.length
|
|
checkAll.value = checkedCount === cities.length
|
|
isIndeterminate.value = checkedCount > 0 && checkedCount < cities.length
|
|
}
|
|
</script>
|