Component({ options: { addGlobalClass: true, }, properties: { type: { type: String, value: 'error', observer: '_typeChange' }, show: { type: Boolean, value: false, observer: '_showChange' }, msg: { type: String, value: '' }, delay: { type: Number, value: 2000 }, extClass: { type: String, value: '' } }, data: { typeClassMap: { 'warn': 'weui-toptips_warn', 'info': 'weui-toptips_info', 'success': 'weui-toptips_success', 'error': 'weui-toptips_error' }, }, attached() { const data:any = this.data this.setData({ className: data.typeClassMap[data.type] || '', }) }, methods: { _typeChange(newVal) { this.setData({ className: this.data.typeClassMap[newVal] || '' }) return newVal }, _showChange(newVal) { this._showToptips(newVal) }, _showToptips(newVal) { if (newVal && this.data.delay) { setTimeout(() => { this.setData({ show: false, }, () => { // tooltips 隐藏了,触发 hide 事件 this.triggerEvent('hide', {}, {}) }) }, this.data.delay) } this.setData({ show: newVal }) } } })