vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.32 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeEmpty",props:{imageUrl:String,imageStyle:Object,icon:String,status:String,content:[String,Number]},emits:[],setup(s,e){const i=e["emit"];var t=_xeUtils.default.uniqueId();const n=(0,_vue.ref)();var r=(0,_vue.reactive)({});const u={refElem:n},a={},p={xID:t,props:s,context:e,reactData:r,getRefMaps:()=>u,getComputeMaps:()=>a};Object.assign(p,{dispatchEvent:(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$empty:p},t))}},{});return p.renderVN=()=>{var{imageUrl:e,imageStyle:t,icon:r,status:i,content:u}=s;return(0,_vue.h)("div",{ref:n,class:["vxe-empty",{["theme--"+i]:i}]},[(0,_vue.h)("div",{class:"vxe-empty--inner"},[e?(0,_vue.h)("div",{class:"vxe-empty--img-wrapper"},[(0,_vue.h)("img",{src:e,style:t})]):(0,_vue.h)("div",{class:"vxe-empty--icon-wrapper"},[(0,_vue.h)("i",{class:r||(0,_ui.getIcon)().EMPTY_DEFAULT})]),(0,_vue.h)("div",{class:"vxe-empty--content-wrapper"},""+(u||(0,_ui.getI18n)("vxe.empty.defText")))])])},p},render(){return this.renderVN()}});