vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
73 lines (72 loc) • 2.72 kB
JavaScript
import { defineComponent as x, createElementBlock as d, openBlock as n, normalizeClass as a, createElementVNode as u, createVNode as p, unref as e, createBlock as f, createCommentVNode as b, withModifiers as B, toDisplayString as T, withCtx as g, Fragment as F, renderList as K } from "vue";
import { CheckBox as N } from "../../CheckBox/index.mjs";
import { CollapseTransition as S } from "../../CollapseTransition/index.mjs";
import { useNodeTree as V } from "./hook/useNodeTree.mjs";
import { Icon as P } from "@vuux/icons";
const U = /* @__PURE__ */ x({
__name: "node",
props: {
node: {},
flatTreeData: {},
nodeKey: {},
checkbox: { type: Boolean },
returnParentData: { type: Boolean },
line: { type: Boolean },
labelField: {}
},
emits: ["update-select"],
setup(l, { emit: k }) {
const o = l, { node: t, checkbox: s, labelField: c } = o, h = k, { classNames: y, handleToggle: m, updateSelect: C, handleCheckChange: D } = V(t, h);
return (I, r) => (n(), d("ul", {
class: a(["tree-node", { "node-line": o.line }])
}, [
u("li", {
class: a(["tree-item", { "item-line": o.line }]),
onClick: r[1] || (r[1] = //@ts-ignore
(...i) => e(m) && e(m)(...i))
}, [
p(e(P), {
name: "Icon6657361",
size: 15,
class: a(e(y))
}, null, 8, ["class"]),
e(s) ? (n(), f(e(N), {
key: 0,
"model-value": e(t).isSelect,
indeterminate: e(t).isIndeterminate,
disabled: e(t).disabled,
onClickCapture: r[0] || (r[0] = B(() => {
}, ["stop"])),
"onUpdate:modelValue": e(D)
}, null, 8, ["model-value", "indeterminate", "disabled", "onUpdate:modelValue"])) : b("", !0),
u("p", {
class: a(["tree-label", { "is-disabled": e(t).disabled }])
}, T(e(t)[e(c)]), 3)
], 2),
p(e(S), null, {
default: g(() => [
e(t).isOpen && e(t).children?.length ? (n(), d("li", {
key: 0,
class: a({ "is-children": e(t).children })
}, [
(n(!0), d(F, null, K(e(t).children, (i) => (n(), f(U, {
key: i[l.nodeKey],
node: i,
line: o.line,
flatTreeData: l.flatTreeData,
nodeKey: l.nodeKey,
checkbox: e(s),
returnParentData: l.returnParentData,
labelField: e(c),
onUpdateSelect: e(C)
}, null, 8, ["node", "line", "flatTreeData", "nodeKey", "checkbox", "returnParentData", "labelField", "onUpdateSelect"]))), 128))
], 2)) : b("", !0)
]),
_: 1
})
], 2));
}
});
export {
U as default
};