在element-ui中的組件函數鈎子一般都是自帶參數如:
//上傳組件 <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove" multiple :limit="3" :on-exceed="handleExceed" :file-list="fileList">
<el-button size="small" type="primary">點擊上傳</el-button>
<div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過500kb</div>
</el-upload>
API中解釋:on-remove 文件列表移除文件時的鈎子 function(file, fileList)
也就是上面的beforeRemove函數自帶file, fileList這兩參數
beforeRemove(file, fileList){
//就這兩參數
}
那么想要帶自己的參數呢,,尤其一般在表格中的上傳,肯定要攜帶當前一行的參數(動態參數)時;
我們對before-remove屬性修改:
//上傳組件 <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-preview="handlePreview" :on-remove="handleRemove" :before-remove="(file,fileList)=>{ return beforeRemove(file,fileList,data) }" multiple :limit="3" :on-exceed="handleExceed" :file-list="fileList">
<el-button size="small" type="primary">點擊上傳</el-button>
<div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過500kb</div>
</el-upload>
在before-remove上在return 一個函數,並攜帶data(自己想要的參數)
這樣在函數beforeRemove中就可以拿到data了
beforeRemove(file,fileList,data){
console.log(data)
}
@change添加自定義參數
element-ui的change事件默認參數是一個value值,比如下拉框的change事件默認參數是選中的value值,但是實際項目中我們要傳的一般不止這一個參數,如果直接追加兩個參數可能獲取不到,這時需要把參數中的默認參數名換成$event即可。
//第一個參數是默認的value參數,第二個是我們自己想傳入的參數
@change='selectChange($event,scope.row)' 或者使用第二種方法: @change='(val)=>selectChange(value,scope.row)'