Element el-dropdown 事件

文章讲述了如何在Vue.js项目中结合el-table组件,通过设置trigger=click触发点击事件,实现当用户从下拉菜单中选择值后,同时获取到选中行的数据和下拉菜单的值。关键代码包括handleCommand方法处理命令事件,changeDrop方法处理可见性变化,以及data选项中的permissionOptions数据绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我这里是结合el-table一起使用

设置trigger="click" 就可以加点击事件

这里我需要点击下拉选择值后,既要得到下拉里面的值 也要得到这一行数据的值 

重要的代码


<el-dropdown
                  trigger="click"
                  @command="handleCommand($event,scope.row,scope.$index)"
                  @visible-change="changeDrop(scope.$index,'其他值')"
>
handleCommand(item,row,index) {
      console.log(item,"item")//下拉菜单里面的值
      console.log(row,"row")//表格里面的数据
      console.log(index,"index")//1 表格列下标
    this.tableData[index].auth = item.value
}

changeDrop(index, item) { //可以得到表格的值
      console.log(item,"cccc")//其他值
      this.tableData[index].auth = "赋值"
},
data(){
    return{
        permissionOptions: [
        { value: '1', label: '仅使用' },
        { value: '2', label: '可复制' },
        { value: '3', label: '可编辑' },
        // { value:"0",label: '移除权限' },
      ],
    }
}


<el-table-column align="center" prop="handle" label="操作">
            <template slot-scope="scope">
              <div style="margin-right:10px">
                <el-dropdown
                  trigger="click"
                  @command="handleCommand($event,scope.row)"
                  @visible-change="changeDrop(scope.$index)"
                >
                  <span class="el-dropdown-link">
                    <el-button type="primary" size="mini"
                      >{{ scope.row.auth == '1' ? '仅使用' : '可复制'
                      }}<i class="el-icon-arrow-down el-icon--right"></i
                    ></el-button>
                  </span>
                  <el-dropdown-menu slot="dropdown">
                    <el-dropdown-item
                      :command="item"
                      v-for="(item, index) in permissionOptions"
                      :key="index"
                      >{{ item.label }}</el-dropdown-item
                    >
                  </el-dropdown-menu>
                </el-dropdown>
              </div>
              
            </template>
          </el-table-column>

### 实现 `el-dropdown-menu` 点击事件 为了处理 `el-dropdown-menu` 中的点击事件,在 Vue 和 Element UI 结合使用的场景下,通常会监听特定于菜单项 (`el-dropdown-item`) 的命令事件。当用户选择某个菜单项时,该事件会被触发并执行相应的逻辑。 #### 使用 `command` 事件绑定回调函数 通过设置 `el-dropdown-item` 上的 `command` 属性来指定唯一标识符,并在父级组件上监听来自子组件发出的 `command` 事件以便响应用户的交互操作[^1]。 下面是一个具体的例子展示如何实现这一功能: ```html <template> <div class="example"> <!-- Dropdown Button --> <el-dropdown @command="handleCommand" :hide-on-click="false" trigger="click"> <span class="el-dropdown-link">Dropdown List<i class="el-icon-arrow-down el-icon--right"></i></span> <!-- Dropdown Menu Template --> <template #dropdown> <el-dropdown-menu> <!-- Each item has a unique command value --> <el-dropdown-item command="a">Action A</el-dropdown-item> <el-dropdown-item command="b">Action B</el-dropdown-item> <el-dropdown-item disabled>Disabled Action</el-dropdown-item> <el-dropdown-item divided command="c">Action C (Divided)</el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> <!-- Output selected action --> <p v-if="selectedAction !== ''">{{ 'Selected: ' + selectedAction }}</p> </div> </template> <script> export default { data() { return { selectedAction: '' }; }, methods: { handleCommand(command) { this.selectedAction = command; console.log(`You have chosen ${this.selectedAction}`); } } }; </script> ``` 在这个实例中,每当用户选择了不同的选项时,都会调用 `handleCommand()` 函数并将对应的命令作为参数传递给它。这使得可以轻松地跟踪哪个动作被选中以及采取进一步的动作[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林中明月间。

分享共赢。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值