element-ui tabs组件切换时是否阻断

image.png
image.png

tabs组件代码


<el-tabs v-model="activeTab" type="card" :before-leave="beforeLeave">
 <el-tab-pane label="用户信息" name="basicInfo">
  用户信息表单
 </el-tab-pane>
 <el-tab-pane v-if="code" label="用户角色" name="userRole">
  用户角色列表
 </el-tab-pane>
</el-tabs>

方法(二选一)

    // 方法一使用promise的reject()
    beforeLeave(item) {
      var p = new Promise((resolve, reject) => {
        this.$confirm('离开将不保存本页修改', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          // 你可以在这儿做些操作
          resolve()
        }).catch(err => {
          // 你可以在这儿做些操作
          reject(err)
        })
      })
      return p
    },
    // 方法二使用了throw new Error()阻断js
    beforeLeave(item) {
      return this.$confirm('离开将不保存本页修改', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
      }).catch(() => {
        throw new Error('取消成功!')
      })
    },

PS

都会在控制台有一个报错提示的小瑕疵,我也没想到更好的办法,哪位大神如果有,务必留言,感激不尽。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 继上一篇文章的React Native 与原生之间的通信(iOS),我们知道RN与原生通信主要通过属性、原生模块、...
    朱_源浩阅读 19,275评论 43 60
  • UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组...
    鲁大师666阅读 43,435评论 5 97
  • 我可能真的是不太适合合租,毕业以后合租过两次,都住的不是很开心。 第一次套二,那女孩人还不错,跟我家庭背景...
    Demi2020阅读 268评论 1 3
  • 1.会不会七十二变不重要,能上天入地又怎样,真正取过经的人,知道九九八十一难,最难的其实是开始。成功的步骤很多,但...
    混儿姐阅读 492评论 0 49
  • 阳光还算明媚,只是干扎扎硬朗朗地冷。单位一行12人,行进在去乡下精准扶贫的路上。未知实际状况如何。由此事来看,政府...
    空谷清音_45d4阅读 266评论 0 2