@jecloud/ui
Version:
JECloud UI库,基于ant-design-vue封装
1 lines • 1.15 kB
JavaScript
import{createVNode as e}from"vue";import{filterEmpty as o}from"../../../utils/props";export function useTreeNode(l){var n=l.context.slots,t={slots:{},props:{}},a=n?n.default:null,s=function(l){var t,a,s=l.row,r=l.$table,d=s.async&&!s.leaf||(null===(t=s.children)||void 0===t?void 0:t.length)>0,i=r.isTreeExpandByRow(s),c=o(null===(a=n.nodeIcon)||void 0===a?void 0:a.call(n,l));return c.length?c:e("i",{class:[s.icon?s.icon:{"is--leaf":!d,"is--folder":d,"is--expand":d&&i,"fal fa-file":!d,"fas fa-folder-open":d&&i,"fas fa-folder":d&&!i}],style:{color:s.iconColor||void 0}},null)};return t.slots.default=function(l){var t,r=o(null==a?void 0:a(l)),d=r.find((function(e){var o;return"je-tree-node-content"===(null===(o=e.props)||void 0===o?void 0:o.class)}));if(d)return r;var i=l.row,c=l.$table.getComputeMaps().computeTreeOpts.value.textField||"text";return[e("span",{class:"je-tree-node-icon"},[s(l)]),e("span",{class:"je-tree-node-content"},[r.length?r:i[c]]),e("span",{class:"je-tree-node-actions"},[i.badge?e("span",{class:["je-tree-node-badge",i.badgeClass],style:i.badgeStyle},[i.badge]):"",null===(t=n.action)||void 0===t?void 0:t.call(n,l)])]},t}