dk-plus
Version:
2 lines (1 loc) • 1.01 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("vue");require("../../_icon/index.js");const k=require("../../_hooks/get-checkbox-group/index.js"),L=require("./index3.js"),g=c.defineComponent({name:"DkCheckboxGroup",props:L.checkboxGroup,emits:["change"],setup(s,{slots:o,emit:n}){const a=k.getCheckboxGroupSlot(s),{getSlot:h,refresh:l}=a,e=c.reactive({max:s.max,slotList:h(o),checkedList:[]});c.watch(()=>s.modelValue,()=>{e.slotList=l(o,e.checkedList),e.checkedList=e.slotList.filter(t=>t.modelValue).map(t=>t.value),n("change",e.checkedList)},{deep:!0});const d=c.reactive({handleItemChange:t=>{const{value:r,checked:u}=t,i=e.checkedList.indexOf(r.toString());u&&i===-1?e.checkedList.push(r.toString()):!u&&i!==-1&&e.checkedList.splice(i,1),n("change",e.checkedList)},getCheckedList:()=>{e.checkedList=e.slotList.filter(t=>t.modelValue).map(t=>t.value)}});return d.getCheckedList(),{...c.toRefs(e),...c.toRefs(d)}}});exports.default=g;