vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.39 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCollapsePane",props:{title:[String,Number],name:[String,Number],icon:String,preload:Boolean,permissionCode:[String,Number]},emits:[],setup(e,t){const{emit:i,slots:r}=t;var u=_xeUtils.default.uniqueId();const n=(0,_vue.inject)("$xeCollapse",null),o=(0,_vue.ref)();var a=(0,_vue.reactive)({});const s=(0,_vue.reactive)({id:u,title:e.title,name:e.name,icon:e.icon,preload:e.preload,permissionCode:e.permissionCode,slots:r}),l={refElem:o},p={},d={xID:u,props:e,context:t,reactData:a,getRefMaps:()=>l,getComputeMaps:()=>p};Object.assign(d,{dispatchEvent:(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$collapsePane:d},t))}},{});return(0,_vue.watch)(()=>e.title,e=>{s.title=e}),(0,_vue.watch)(()=>e.name,e=>{s.name=e}),(0,_vue.watch)(()=>e.icon,e=>{s.icon=e}),(0,_vue.watch)(()=>e.permissionCode,e=>{s.permissionCode=e}),(0,_vue.onMounted)(()=>{var e=o.value;n&&e&&(0,_util.assembleCollapseItem)(n,e,s)}),(0,_vue.onUnmounted)(()=>{n&&(0,_util.destroyCollapseItem)(n,s)}),d.renderVN=()=>(0,_vue.h)("div",{ref:o},[]),d},render(){return this.renderVN()}});