当前位置:   article > 正文

vue2项目el-table中嵌套el-dropdown, 下拉菜单事件不响应_el-dropdown 点击下拉没反应

el-dropdown 点击下拉没反应

最近在做项目改造,发现之前element-plus中正常使用el-dropdown,在element中没响应,查了官方文档了解到两个版本dropdown的事件不一样

下面分别看一下两个版本的写法

  1. // Vue3里element-plus写法
  2. <el-dropdown class="dropdown">
  3. <el-button type="primary" text>
  4. 更多<el-icon><ArrowDown/></el-icon>
  5. </el-button>
  6. <template #dropdown>
  7. <el-dropdown-menu>
  8. <el-dropdown-item @click="deleteById(scope)">删除</el-dropdown-item>
  9. <el-dropdown-item @click="showRelease(scope)">发布</el-dropdown-item>
  10. <el-dropdown-item @click="cancel(scope)" disabled>撤销</el-dropdown-item>
  11. </el-dropdown-menu>
  12. </template>
  13. </el-dropdown>
  14. <script setup>
  15. //js部分
  16. const deleteById = (row) =>{
  17. console.log(row)
  18. }
  19. </script>
  1. // Vue2中element写法,官方示例
  2. <el-dropdown @command="handleCommand">
  3. <span class="el-dropdown-link">
  4. 下拉菜单<i class="el-icon-arrow-down el-icon--right"></i>
  5. </span>
  6. <el-dropdown-menu slot="dropdown">
  7. <el-dropdown-item command="a">黄金糕</el-dropdown-item>
  8. <el-dropdown-item command="b">狮子头</el-dropdown-item>
  9. <el-dropdown-item command="c">螺蛳粉</el-dropdown-item>
  10. <el-dropdown-item command="d" disabled>双皮奶</el-dropdown-item>
  11. <el-dropdown-item command="e" divided>蚵仔煎</el-dropdown-item>
  12. </el-dropdown-menu>
  13. </el-dropdown>
  14. <script>
  15. export default {
  16. methods: {
  17. handleCommand(command) {
  18. this.$message('click on item ' + command);
  19. }
  20. }
  21. }
  22. </script>

 在element中,使用common事件感觉有点绕弯子,所以我用了.native 修饰符的方式实现了下拉菜单的事件触发。

.native - 监听组件根元素的原生事件。
主要是给自定义的组件添加原生事件。

  1. <el-dropdown class="dropdown">
  2. <el-button type="text">
  3. 更多<i class="el-icon-arrow-down"></i>
  4. </el-button>
  5. <el-dropdown-menu slot="dropdown">
  6. <el-dropdown-item @click.native="deleteById(scope.row)">删除</el-dropdown-item>
  7. <el-dropdown-item @click.native="showRelease(scope.row)">发布</el-dropdown-item>
  8. <el-dropdown-item @click.native="cancel(scope.row)" disabled>撤销</el-dropdown-item>
  9. </el-dropdown-menu>
  10. </el-dropdown>
  11. <script>
  12. //js事件就可以正常写啦
  13. export default {
  14. methods:{
  15. deleteById(row){
  16. console.log(row)
  17. }
  18. }
  19. }
  20. </script>

喜欢的点个关注吧

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/850798
推荐阅读
相关标签
  

闽ICP备14008679号