欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

element Dropdown组件意想不到的坑

时间:2022-04-15 09:30:45|栏目:vue|点击:

去年做的两个web项目,都用到了elementUI,自认为已经比较熟悉了,尤其是其中一些常用的组件,比如说今天的主角——Dropdown。

所以,今年项目中,如果再用到的话,应该不会踩坑了。毕竟,对它的坑,已经比较了解了。它常见的坑主要有以下两个:

1、el-dropdown下拉el-dropdown-item添加点击事件click没有反应

踩坑写法:

<el-dropdown-item @click="remoToken">退出</el-dropdown-item>

避坑写法:

<el-dropdown-item @click.native="remoToken">退出</el-dropdown-item>

2、el-table组件中使用Dropdown,无法显示下拉框

踩坑写法:

<el-table-column>
  <el-dropdown><el-dropdown>
<el-table-column>

避坑写法

<el-table-column>
  <template slot-scope="scope">
    <el-dropdown><el-dropdown>  
  </template>
<el-table-column>

但是,昨天,在使用Dropdown组件时,还是踩了一个意想不到的坑!
事情是这样的。

也是在el-table组件中使用Dropdown,已经采用了避坑写法,大概写法如下:

<el-table-column>
  <template slot-scope="scope">
    <el-dropdown v-if="status === 1">
     <a>{{activeSelect}}<i class="el-icon-arrow-down el-icon--right"></a>
     <el-dropdown-menu slot="dropdown">
       <el-dropdown-item command="a">进入面试</el-dropdown-item> 
       <el-dropdown-item command="b">入职</el-dropdown-item>
     </el-dropdown-menu>
    <el-dropdown>  
    <el-dropdown v-if="status === 2">
     <a>{{activeSelect}}<i class="el-icon-arrow-down el-icon--right"></a>
     <el-dropdown-menu slot="dropdown">
       <el-dropdown-item command="b">入职</el-dropdown-item>
     </el-dropdown-menu>
    <el-dropdown> 
  </template>
<el-table-column>

可是,不管怎么点击,Dropdown下拉框就是不显示。

问题到底出现在哪?百思百搜不得其解!

后来没办法,就把自己的代码注释掉,换上了一组官方文档中的示例代码。突然,下拉框出来了!这是为什么?

仔细对比了一下,代码没什么区别,除了原来的代码有两组Dropdown,现在的只有一组Dropdown,难道问题出现在这里。

这时,脑袋中突然浮现出一句话:v-if 、v-else-if 和v-else 最好搭配使用,形成完整的逻辑判断。

果断把代码改成如下:

<el-table-column>
  <template slot-scope="scope">
    <el-dropdown v-if="status === 1">
    <el-dropdown>  
    <el-dropdown v-else-if="status === 2">
    <el-dropdown> 
  </template>
<el-table-column>

一试,下拉框正常出来了!
问题还真出现在这,以前也经常多个v-if 一起用,也没问题,为什么到这个场景中就不行(求大神指教)。

上一篇:vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单

栏    目:vue

下一篇:vue 中的动态传参和query传参操作

本文标题:element Dropdown组件意想不到的坑

本文地址:http://www.codeinn.net/misctech/199227.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有