vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 2.03 kB
JavaScript
;const e=require("vue"),k=require("./node.vue.cjs"),E=require("./header.vue.cjs"),v=require("./empyt.vue.cjs"),x=require("../../ScrollBar/index.cjs"),g=require("./hook/useTable.cjs"),o=require("@vuux/utils"),C={key:1},N={key:0,class:"is-empty"},q=e.defineComponent({name:"Table",__name:"index",props:{columns:{},data:{},border:{type:Boolean},stripe:{type:Boolean},width:{default:"100%"},height:{default:"100%"}},emits:["select"],setup(f,{emit:_}){const t=f,B=_,s=e.useSlots(),a=e.useTemplateRef("tableBoxEl"),u=e.useTemplateRef("tableEl"),{state:l,tableData:n,isFixedHead:b,classNames:y}=g.useTable(t,a,u,B);return(c,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"tableBoxEl",ref:a,class:e.normalizeClass(["app-table",e.unref(y)]),style:e.normalizeStyle(`width: ${t.width}; height: ${t.height}`)},[e.createVNode(e.unref(x.ScrollBar),null,{default:e.withCtx(()=>[e.createElementVNode("table",{ref_key:"tableEl",ref:u},[e.unref(o.Utils).isEmpty(t.columns)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:0,columns:e.unref(l).columns,"table-data":e.unref(n),"is-fixed-head":e.unref(b)},e.createSlots({_:2},[e.renderList(e.unref(s),(m,r)=>({name:r,fn:e.withCtx(d=>[e.renderSlot(c.$slots,r,e.normalizeProps(e.guardReactiveProps(d||{})))])}))]),1032,["columns","table-data","is-fixed-head"])),e.unref(o.Utils).isEmpty(e.unref(n))?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("tbody",C,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).tableData,(m,r)=>(e.openBlock(),e.createBlock(k,{key:r,columns:e.unref(l).columns,item:m},e.createSlots({_:2},[e.renderList(e.unref(s),(d,p)=>({name:p,fn:e.withCtx(h=>[e.renderSlot(c.$slots,p,e.mergeProps({ref_for:!0},h||{}))])}))]),1032,["columns","item"]))),128))]))],512),e.unref(o.Utils).isEmpty(e.unref(n))?(e.openBlock(),e.createElementBlock("div",N,[e.createVNode(v),i[0]||(i[0]=e.createElementVNode("div",{class:"empty-tip"},"暂无数据",-1))])):e.createCommentVNode("",!0)]),_:3})],6))}});module.exports=q;