UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

54 lines (47 loc) 1.22 kB
"use strict"; exports.__esModule = true; exports.useTooltip = void 0; var _vue = require("vue"); var _zmp = require("./zmp"); var useTooltip = function useTooltip(elRef, props) { var zmpTooltip = null; var tooltip = props.tooltip, tooltipTrigger = props.tooltipTrigger; (0, _vue.onMounted)(function () { if (!elRef.value) return; if (!tooltip) return; (0, _zmp.zmpready)(function () { zmpTooltip = _zmp.zmp.tooltip.create({ targetEl: elRef.value, text: tooltip, trigger: tooltipTrigger }); }); }); (0, _vue.onBeforeUnmount)(function () { if (zmpTooltip && zmpTooltip.destroy) { zmpTooltip.destroy(); zmpTooltip = null; } }); (0, _vue.watch)(function () { return props.tooltip; }, function (value) { if (!value && zmpTooltip) { zmpTooltip.destroy(); zmpTooltip = null; return; } if (value && !zmpTooltip && _zmp.zmp) { zmpTooltip = _zmp.zmp.tooltip.create({ targetEl: elRef.value, text: value, trigger: tooltipTrigger }); return; } if (!value || !zmpTooltip) return; zmpTooltip.setText(value); }); }; exports.useTooltip = useTooltip;