digital item页面

This commit is contained in:
X1627315083@163.com
2026-05-22 11:11:38 +08:00
parent 2d95c3c976
commit 3ae774bc6b
7 changed files with 278 additions and 127 deletions

View File

@@ -6,34 +6,42 @@ const props = defineProps({
default:()=>[]
},
selected:{
type:String,
default:()=>''
type:Array,
default:()=>[]
}
})
const emit = defineEmits([
'update:selected','change'
])
const checkList = computed(()=>{
if(props.selected[0] === ''){
if(props.selected[0] === 'all'){
return props.list.map(item => item.value)
}else{
return [...props.selected]
}
})
const handleChange = (val) => {
emit('update:selected', val)
emit('change', val)
let data = val.filter(item => item !== 'all')
if(val.length == 0)return
if(data.length == props.list.length){
data = ['all']
}else{
data = [...val]
}
emit('update:selected', data)
emit('change', data)
}
const checkAll = computed(()=>{
return checkList.value.length === props.list.length
})
const handleCheckAllChange = (val) => {
let data = []
if(val){
data = props.list.map(item => item.value)
if(val && props.selected[0] !== 'all'){
data = ['all']
// data = props.list.map(item => item.value)
emit('update:selected', data)
emit('change', data)
}
emit('update:selected', data)
emit('change', data)
}
let data = reactive({
})