jiaqingjiayi-xiaochengxu/甲情_甲意/node_modules/antd-mini/less/Toast/index.js
2024-11-15 11:51:28 +08:00

52 lines
1.5 KiB
JavaScript

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,
didUpdate: function (prev) {
var visible = getValueFromProps(this, 'visible');
if (!prev.visible && visible) {
this.handleShowToast();
}
else if (!visible && this.data.show) {
this.closeMask();
}
},
didMount: function () {
var visible = getValueFromProps(this, 'visible');
if (visible) {
this.handleShowToast();
}
},
});