uv-ui
Version:
基于vue3的移动端组件库
2 lines (1 loc) • 777 B
JavaScript
;const c=require("vue");require("./collapse.vue_vue_type_style_index_0_lang.cjs");const i={class:"uv-collapse"},d={name:"UvCollapse"},p=Object.assign(d,{props:{accordion:{type:Boolean,default:!1},modelValue:{type:[Array,String,Number],default:()=>[]}},emits:["update:modelValue"],setup(n,{emit:u}){const t=n,l=c.ref([].concat(t.modelValue));c.watch(()=>t.modelValue,e=>{l.value=[].concat(e)});const a=e=>{l.value=[].concat(e);const s=t.accordion?e:l.value;u("update:modelValue",s)},r=e=>{const s=l.value.slice(0),o=s.indexOf(e);t.accordion?o>-1?a(""):a(e):(o>-1?s.splice(o,1):s.push(e),a(s))};return c.provide("collapse",{activeNames:l,handleItemClick:r}),(e,s)=>(c.openBlock(),c.createElementBlock("div",i,[c.renderSlot(e.$slots,"default")]))}});module.exports=p;