digital item页面
This commit is contained in:
@@ -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({
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user