123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { ToastDefaultProps } from './props';
- import fmtEvent from '../_util/fmtEvent';
- import '../_util/assert-component2';
- Component({
- props: ToastDefaultProps,
- data: {
- show: false,
- timer: null,
- },
- didUpdate: function (prev) {
- if (!prev.visible && this.props.visible) {
- this.handleShowToast();
- }
- else if (!this.props.visible && this.data.show) {
- this.closeMask();
- }
- },
- didMount: function () {
- if (this.props.visible) {
- this.handleShowToast();
- }
- },
- methods: {
- closeMask: function () {
- var _a, _b;
- if (this.data.timer) {
- clearTimeout(this.data.timer);
- }
- this.setData({ show: false, timer: null });
- (_b = (_a = this.props).onClose) === null || _b === void 0 ? void 0 : _b.call(_a, fmtEvent(this.props, {}));
- },
- handleShowToast: function () {
- var _this = this;
- this.setData({ show: true });
- if (this.props.duration > 0) {
- var timer = setTimeout(function () {
- _this.closeMask();
- }, this.props.duration);
- this.setData({ timer: timer });
- }
- },
- handleClickMask: function () {
- if (this.props.showMask && this.props.maskCloseable) {
- this.closeMask();
- }
- },
- },
- });
|