element-ui中下拉command传递多参数事件封装

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了element-ui中下拉command传递多参数事件封装相关的知识,希望对你有一定的参考价值。

文章目录

问题产生

command事件中默认传递一个参数,即你每个下拉选项el-dropdown-item中设定的command的值,怎么样传递多个参数呢?

我的项目中el-dropdown在一个遍历循环中,需要将index角标将参数传给@command="handleCommand"事件中。

解决办法:

动态设置每个el-dropdown-item中command的值

效果图:

效果:下拉框选中后,el-dropdown-link显示选中的信息,并且弹一下消息,内容为选中的id。

vue

<el-dropdown @command="handleCommand">
  <span class="el-dropdown-link">
     dropdownName 
    <i class="el-icon-arrow-down el-icon--right"></i>
  </span>
  <el-dropdown-menu slot="dropdown">
    <div v-for="item in matchList">
      <el-dropdown-item :command="beforeHandleCommand(item.id,item.name)">  item.name </el-dropdown-item>
    </div>
  </el-dropdown-menu>
</el-dropdown>

js

<script>
  export default 
    data() 
      return 
        tableData: [
          pk_id: 1,
          mname: '中国机设',
          mtype: '计算机',
          date: '2016-05-02',
          name: '燕山大学',
        , 
          pk_id: 2,
          mname: '蓝桥杯',
          mtype: '计算机',
          date: '2016-05-02',
          name: '河北大学',
        ],
        dropdownName: "下拉菜单",
        matchList: [
          id: 1,
          name: "燕山大学"
        , 
          id: 2,
          name: "河北大学"
        , ],
      
    ,
    methods: 
      handleCommand(command) 
        console.log(command);
        this.dropdownName=command.command;
        this.$message("id:"+command.index);
      ,

      beforeHandleCommand(index, command)  //index我这里是遍历的角标,即你需要传递的额外参数
        return 
          'index': index,
          'command': command
        
      ,

    
  
</script>

以上是关于element-ui中下拉command传递多参数事件封装的主要内容,如果未能解决你的问题,请参考以下文章

element-ui中upload组件如何传递文件及其他参数

在element-ui组件select选择器的change事件中传递自定义参数

在element-ui组件select选择器的change事件中传递自定义参数

vue element-ui select下拉选择的使用 设置下拉选择默认值

在element-ui的select下拉框加上滚动加载

Element-ui中 选择器(select)多选下拉框实现全选功能