UNPKG

sci-pro

Version:
58 lines (57 loc) 1.85 kB
import { defineComponent as _, ref as y, resolveComponent as f, openBlock as r, createElementBlock as s, Fragment as k, renderList as h, createElementVNode as c, createCommentVNode as a, toDisplayString as C, createVNode as v } from "vue"; import "./style/index.css"; const L = { class: "sci-tree" }, g = { class: "sci-tree_title" }, N = { key: 0, class: "item-title_icon" }, S = ["onClick"], V = { key: 0, class: "sci-tree-children", style: { display: "none" } }, q = _({ name: "sci-tree" }), T = /* @__PURE__ */ _({ ...q, props: { treeList: {} }, emits: ["treeClick"], setup(B, { emit: m }) { const l = m, o = y([]), p = (t, d) => { if (t.children) { let i = o.value[d], e = i.querySelector(".sci-tree-children"), n = i.querySelector(".item-title_icon"); e.style.display === "none" ? (e.style.display = "block", n.style.transform = "rotate(135deg)") : (e.style.display = "none", n.style.transform = "rotate(45deg)"); } l("treeClick", t); }, u = (t) => { l("treeClick", t); }; return (t, d) => { const i = f("sci-tree"); return r(), s("div", L, [ (r(!0), s(k, null, h(t.treeList, (e, n) => (r(), s("div", { class: "sci-tree-item", key: e.title, ref_for: !0, ref_key: "itemRefs", ref: o }, [ c("div", g, [ c("div", null, [ e.children ? (r(), s("span", N)) : a("", !0) ]), c("span", { onClick: (D) => p(e, n) }, C(e.title), 9, S) ]), e.children ? (r(), s("div", V, [ v(i, { treeList: e.children, onTreeClick: u }, null, 8, ["treeList"]) ])) : a("", !0) ]))), 128)) ]); }; } }); export { T as default };