项目中最常用的UI框架就是element-ui,经常在点击操作按钮时候多次点击上一个弹窗未消失,下一个又出现,类似于ant-vue里面提供了 this.$message.destroy()方法,能够销毁。

但是在饿了么里面是不存在的,只能对此重写处理,代码如下

// message.js
import { Message } from 'element-ui'
let messageInstance = null
const resetMessage = options => {
  if (messageInstance) {
    messageInstance.close()
  }
  messageInstance = Message(options)
}
;['error', 'success', 'info', 'warning'].forEach(type => {
  resetMessage[type] = options => {
    if (typeof options === 'string') {
      options = {
        message: options
      }
    }
    options.type = type
    return resetMessage(options)
  }
})
export const message = resetMessage


使用:直接在 main.vue中引入message.js后,Vue.prototype.$message = message;组件中调用完全与之前相同

 

GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:1 个月前 )
c345bb45 5 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐