[TOC]
>[success] # 給事件傳額外參數
在開發中用**element ui**中的**下拉組件**遇到了一個問題,官方提供的事件,只有一個**默認自帶參數**可以使用,**如果想傳多個參數就會覆蓋原來的參數**,然后找了網上好多的案例最終找到了3種解決辦法:
~~~
<el-table-column label="日期" width="180">
<template slot-scope="scope">
<el-dropdown @command="handleCommand"> // 這里是點擊菜單的事件,默認的參數只有command
<button>下拉菜單</button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item command="a">黃金糕</el-dropdown-item>
<el-dropdown-item command="b">獅子頭</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
</el-table-column>
~~~
<br>
>[success] ## 改變獲取屬性的數據類型
可以把**command**屬性的改成對象的形式,這樣在**形參**那就可以獲取到**對象中所有的參數數據**
~~~
<el-table-column label="日期" width="180">
<template slot-scope="scope">
<el-dropdown @command="handleCommand">
<button>下拉菜單</button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item :command="{ id: a, row: scope.row }">黃金糕</el-dropdown-item>
<el-dropdown-item :command="{ id: b, row: scope.row }">獅子頭</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
</el-table-column>
~~~
<br>
>[success] ## 用$event的方式
**原生DOM事件**綁定的函數的第一個參數都會是**事件對象event**,但是有時候我們想給這個函數傳其他的參數,**直接傳會覆蓋掉event**,我們可以這么寫<div @click="clickDiv(params,$event)"></div>,**變量$event就代表事件對象**。
~~~
// html代碼
<el-table-column label="日期" width="180">
<template slot-scope="scope">
<el-dropdown @command="handleCommand($event, row)"> // 這樣就可以傳2個參數
<button>下拉菜單</button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item command="a">黃金糕</el-dropdown-item>
<el-dropdown-item command="b">獅子頭</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
</el-table-column>
// js代碼
handleCommand($event, row){}
~~~
<br>
>[success] ## 用閉包的方式
**下拉菜單事件 command 函數**自帶一個參數,為下拉選中的值,這個時候我們想把表格數據傳過去,如果 **@command="handleCommand(row)"** 這樣寫,就會覆蓋掉自帶的參數,該怎么辦呢?這時候我們可以借助箭頭函數: **@command="command => handleCommand(row,command)"** ,完美解決傳參問題。
~~~
// html代碼
<el-table-column label="日期" width="180">
<template slot-scope="scope">
<el-dropdown @command="command => { handleCommand(command, row) }"> // 這樣就可以傳2個參數
<button>下拉菜單</button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item command="a">黃金糕</el-dropdown-item>
<el-dropdown-item command="b">獅子頭</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
</el-table-column>
// js代碼
handleCommand(command, row){}
~~~
- vue復選框邏輯
- get請求給后臺傳數組
- 提交表單時傳值參數處理方案
- Element ui上傳圖片功能
- async和await的使用
- 時間戳轉換
- 日期格式轉換時間戳
- 時間戳轉換日期格式
- 對深拷貝的認知總結
- vue-右鍵菜單功能
- textarea中換行、回車、空格的識別與處理
- element ui表格合并
- 合并行(上下行)
- 雙層for循環
- 數組去重
- 瀑布流
- 前端多條件篩選
- 閉包的理解
- 改變this指向
- vue單選框邏輯
- 對象數組根據某個屬性來進行排序
- vscode插件整理
- 對象數組多條件去重
- Blob類型數據轉換Json數據類型
- Element ui做批量上傳功能
- 前端cookie和后端cookie
- 強制轉換https協議
- 給事件傳額外參數
- 樹形結構數據處理
- 查找所有父級數據
- 根據id篩選單條數據
- 動態引入阿里圖標庫
- 四舍五入
- 封裝一個Promise.allSettled方法
- 判斷輸入框內是否有emoji表情
- element-ui的popover組件位置偏移
- formData上傳文件時,攜帶【數組對象參數】
- 前端解壓壓縮包(zip)解壓后上傳解壓的文件
- element ui表格列相同解決辦法
- elementUI,table復選框多選,翻頁/切換條數時保持選中狀態
- cookie 和 token 的區別