vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
46 lines (45 loc) • 1.59 kB
JavaScript
import { defineComponent as y, createElementBlock as o, openBlock as a, Fragment as _, renderList as h, unref as t, createBlock as k } from "vue";
import B from "./node.vue.mjs";
import { useTree as D } from "./hook/useTree.mjs";
const S = { class: "app-tree" }, F = /* @__PURE__ */ y({
name: "Tree",
__name: "index",
props: {
modelValue: {},
data: {},
label: { default: "label" },
value: { default: "id" },
children: { default: "children" },
disabled: { default: "disabled" },
checkbox: { type: Boolean },
defaultExpandAll: { type: Boolean },
returnParentData: { type: Boolean, default: !0 },
line: { type: Boolean }
},
emits: ["update:modelValue"],
setup(d, { expose: c, emit: p }) {
const e = d, u = p, { flatTreeData: n, nodeKey: r, setSelect: i, updateSelect: s, clearAllSelect: f, expandToSelected: m, expandByKeys: b, collapseAll: x } = D(e, u);
return c({
setSelect: i,
clearAllSelect: f,
collapseAll: x,
expandByKeys: b,
expandToSelected: m
}), (T, K) => (a(), o("div", S, [
(a(!0), o(_, null, h(t(n).filter((l) => l.level === 0), (l) => (a(), k(B, {
key: l[t(r)],
node: l,
line: e.line,
flatTreeData: t(n),
nodeKey: t(r),
checkbox: e.checkbox,
returnParentData: e.returnParentData,
labelField: e.label,
onUpdateSelect: t(s)
}, null, 8, ["node", "line", "flatTreeData", "nodeKey", "checkbox", "returnParentData", "labelField", "onUpdateSelect"]))), 128))
]));
}
});
export {
F as default
};