From b55cc89ca67f462de3a2bd2430ce60f48437ffb1 Mon Sep 17 00:00:00 2001 From: jimczj Date: Thu, 24 Jan 2019 16:41:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(message):=20=E9=80=82=E9=85=8D=E7=99=BE?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/message/index.js | 50 +++++++++++++++---------------- src/pages/action/message/index.js | 2 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/components/message/index.js b/src/components/message/index.js index 0b3962e55..87b83c74b 100644 --- a/src/components/message/index.js +++ b/src/components/message/index.js @@ -8,24 +8,30 @@ export default class AtMessage extends AtComponent { constructor () { super(...arguments) this.state = { - isOpened: false, - message: '', - type: 'info', - duration: 3000, + _isOpened: false, + _message: '', + _type: 'info', + _duration: 3000, } this._timer = null } bindMessageListener () { Taro.eventCenter.on('atMessage', (options = {}) => { - options.isOpened = true - this.setState(options, () => { + const { message, type, duration } = options + const newState = { + _isOpened: true, + _message: message, + _type: type, + _duration: duration || this.state._duration + } + this.setState(newState, () => { clearTimeout(this._timer) this._timer = setTimeout(() => { this.setState({ - isOpened: false + _isOpened: false }) - }, this.state.duration) + }, this.state._duration) }) }) // 绑定函数 @@ -53,26 +59,20 @@ export default class AtMessage extends AtComponent { className, customStyle, } = this.props - const { - message, - isOpened, - type, + _message, + _isOpened, + _type, } = this.state + const rootCls = classNames({ + 'at-message': true, + 'at-message--show': _isOpened, + 'at-message--hidden': !_isOpened + }, `at-message--${_type}`, className) - return ( - - {message} - - ) + return + {_message} + } } diff --git a/src/pages/action/message/index.js b/src/pages/action/message/index.js index f05c2cfcf..38b5d9830 100644 --- a/src/pages/action/message/index.js +++ b/src/pages/action/message/index.js @@ -29,7 +29,7 @@ export default class ToastPage extends Component { 基本案例 - + 普通消息