vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
24 lines (23 loc) • 695 B
JavaScript
import { inject as u, computed as n } from "vue";
const s = (a) => {
const e = u("collapseContext"), i = n(() => e.activeValues.value.includes(a.id));
return {
isExpanded: i,
handleShowHandle: () => {
if (a.disabled || !e || !e.activeValues)
return;
const l = e.activeValues.value;
if (e.accordion)
e.activeValues.value = i.value ? [] : [a.id];
else if (i.value) {
const t = l.indexOf(a.id);
t > -1 && l.splice(t, 1);
} else
l.includes(a.id) || l.push(a.id);
e.emit("update:modelValue", e.accordion ? e.activeValues.value[0] || null : e.activeValues.value);
}
};
};
export {
s as useCollapseItem
};