UNPKG

antd-mini

Version:

antd-mini 是支付宝小程序 UI 组件库,遵循 Ant Design 规范。

58 lines (57 loc) 1.66 kB
import { Component, triggerEventOnly, getValueFromProps, } from '../_util/simply'; import { ToastDefaultProps } from './props'; Component(ToastDefaultProps, { closeMask: function () { if (this.timer) { clearTimeout(this.timer); } this.setData({ show: false }); this.timer = null; triggerEventOnly(this, 'close'); }, handleShowToast: function () { var _this = this; this.setData({ show: true }); var duration = getValueFromProps(this, 'duration'); if (duration > 0) { var timer = setTimeout(function () { _this.closeMask(); }, duration); this.timer = timer; } }, handleClickMask: function () { var _a = getValueFromProps(this, [ 'showMask', 'maskCloseable', ]), showMask = _a[0], maskCloseable = _a[1]; if (showMask && maskCloseable) { this.closeMask(); } }, }, { show: false, }, undefined, { timer: null, observers: { 'visible': function (visible) { if (visible) { this.handleShowToast(); } else if (!visible && this.data.show) { this.closeMask(); } }, 'content': function (content) { this.setData({ displayContent: content === 'string' ? content.substring(0, 24) : content, }); }, }, attached: function () { var visible = getValueFromProps(this, 'visible'); if (visible) { this.handleShowToast(); } }, });