digital 过滤调整

This commit is contained in:
X1627315083@163.com
2026-05-12 13:27:30 +08:00
parent baf57515c0
commit 09909552bc
5 changed files with 133 additions and 46 deletions

View File

@@ -14,11 +14,23 @@ const emit = defineEmits([
'update:selected'
])
const checkList = computed(()=>{
return [props.selected]
if(props.selected[0] === ''){
return props.list.map(item => item.value)
}else{
return [...props.selected]
}
})
const handleChange = (val) => {
if (val.length > 1) {
emit('update:selected', val[val.length - 1])
emit('update:selected', val)
}
const checkAll = computed(()=>{
return checkList.value.length === props.list.length
})
const handleCheckAllChange = (val) => {
if(val){
emit('update:selected', props.list.map(item => item.value))
}else{
emit('update:selected', [])
}
}
let data = reactive({
@@ -31,6 +43,14 @@ defineExpose({})
const {} = toRefs(data);
</script>
<template>
<div class="all">
<el-checkbox
v-model="checkAll"
@change="handleCheckAllChange"
>
All
</el-checkbox>
</div>
<el-checkbox-group v-model="checkList" @change="handleChange">
<el-checkbox
v-for="item in props.list"
@@ -42,6 +62,9 @@ const {} = toRefs(data);
</el-checkbox-group>
</template>
<style lang="less" scoped>
.all{
margin-bottom: 1.2rem;
}
.el-checkbox-group{
display: flex;
flex-direction: column;