UNPKG

@tarojs/components

Version:
80 lines (72 loc) 2.23 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const index = require('./index-a7069008.js'); const Taro = require('@tarojs/taro'); const index$1 = require('./index-b873e40f.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } const Taro__default = /*#__PURE__*/_interopDefaultLegacy(Taro); const indexCss = ".navigator-hover{background:#efefef}"; const Navigator = class { constructor(hostRef) { index.registerInstance(this, hostRef); this.onSuccess = index.createEvent(this, "cuccess", 7); this.onFail = index.createEvent(this, "fail", 7); this.onComplete = index.createEvent(this, "complete", 7); this.hoverClass = undefined; this.url = undefined; this.openType = 'navigate'; this.isHover = false; this.delta = 0; } onClick() { const { openType, onSuccess, onFail, onComplete } = this; let promise = Promise.resolve(); switch (openType) { case 'navigate': promise = Taro__default['default'].navigateTo({ url: this.url }); break; case 'redirect': promise = Taro__default['default'].redirectTo({ url: this.url }); break; case 'switchTab': promise = Taro__default['default'].switchTab({ url: this.url }); break; case 'reLaunch': promise = Taro__default['default'].reLaunch({ url: this.url }); break; case 'navigateBack': promise = Taro__default['default'].navigateBack({ delta: this.delta }); break; case 'exit': promise = Promise.reject(new Error('navigator:fail 暂不支持"openType: exit"')); break; } if (promise) { promise.then(res => { onSuccess.emit(res); }).catch(res => { onFail.emit(res); }).finally(() => { onComplete.emit(); }); } } render() { const { isHover, hoverClass } = this; return (index.h(index.Host, { class: index$1.classnames({ [hoverClass]: isHover }) })); } }; Navigator.style = indexCss; exports.taro_navigator_core = Navigator;