UNPKG

vxe-pc-ui

Version:
1 lines 1.57 kB
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"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeAnchorLink",props:{content:[String,Number],title:[String,Number],href:String},emits:[],setup(l,e){let a=e.slots,t=(0,_vue.inject)("$xeAnchor",null),r=(0,_vue.inject)("$xeAnchorLink",null);var u=_xeUtils.default.uniqueId();let o=(0,_vue.ref)();var i=(0,_vue.reactive)({});let n=(0,_vue.reactive)({id:u,href:l.href,children:[]}),v={refElem:o},c=(0,_vue.computed)(()=>{var e=l.href;return t?t.reactData.activeHref===e:null}),s={},_={xID:u,props:l,context:e,reactData:i,linkConfig:n,getRefMaps:()=>v,getComputeMaps:()=>s},d=e=>{var r=l.href;t&&t.handleClickLink(e,r)};(0,_vue.watch)(()=>l.href,e=>{n.href=e}),(0,_vue.onMounted)(()=>{var e=o.value;t&&e&&(0,_util.assembleAnchorLink)(t,e,n,r)}),(0,_vue.onUnmounted)(()=>{t&&(0,_util.destroyAnchorLink)(t,n)});return(0,_vue.provide)("$xeAnchorLink",_),_.renderVN=()=>{var{href:e,content:r,title:t}=l,u=a.default,i=a.sub,n=c.value;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor-link",{"is--active":n}]},[(0,_vue.h)("a",{class:"vxe-anchor-link--item",href:e,title:t,onClick:d},u?u({}):_xeUtils.default.toValueString(r)),i?(0,_vue.h)("div",{class:"vxe-anchor-link--sub-items"},i({})):(0,_ui.renderEmptyElement)(_)])},_},render(){return this.renderVN()}});