網站首頁 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 一起用,也沒問題,為什么到這個場景中就不行(求大神指教)。
原文鏈接:https://juejin.cn/post/7055971409381556261
相關推薦
- 2023-06-18 C#零基礎開發中最重要的概念總結_C#教程
- 2022-05-06 C語言基礎知識點指針的使用_C 語言
- 2022-04-12 error: failed to push some refs to 'git@gitlab.xxx
- 2022-06-02 Python進程池基本概念_python
- 2022-05-11 SpringBoot jackson返回值中含有null的解決辦法
- 2022-10-20 Flutter?StreamBuilder實現局部刷新實例詳解_Android
- 2024-03-15 docker刪除、停止所有容器或鏡像
- 2022-11-02 Python封裝解構以及丟棄變量_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支