javascript - elementui input帶提示框 選中傳參問題
問題描述
最近用了elementui做項目,遇到一些問題。
需求:選中提示內容之后 給datatable對應行row的id賦值,(后臺要求傳id,不傳input的值)。
問題:自定義table嵌套 帶提示的input,select函數api上自帶一個參數,我額外添加一個參數row之后,就獲取不到當前的選中的數據?
<el-table-column prop='futuresContractId' label='采購合約' width='120'> <template scope='scope'> <el-autocomplete v-model='scope.row.id' :value='scope.row.futuresContractId' :fetch-suggestions='querySearch' placeholder='請輸入' :trigger-on-focus='false' @select='handleSelect(scope.row)' > </el-autocomplete> </template> </el-table-column>
querySearch(queryString, cb) {var restaurants = [ {id:2,name:'M1701',value:'M1701'}, {id:4,name:'M1705',value:'M1705'} {id:8,name:'M1709',value:'M1709'}];var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; // 調用 callback 返回建議列表的數據cb(results); }, createFilter(queryString) { return (restaurant) => { return (restaurant.value.indexOf(queryString.toLowerCase()) >= 0); }; }, handleSelect(row) { console.log(row) //?這里可以把當前行row傳過來,疑問是如何把選中的值id傳給當前的row的id? //如不帶參數過來,默認參數就是選中的restaurants元素 },
問題解答
回答1:你這種思路還是老的思路,沒有享受 VueJS 的大法。
Autocomplete 組件,當你選擇以后,直接就會把 Value 賦值給你的 v-model='scope.row.id' 的了。所以你的疑問 疑問是如何把選中的值id傳給當前的row的id? 不是疑問。
handleSelect(row) { // 默認參數就是當前的row // row 的 ID 已被改變,無需手動處理}
我根據的你的代碼,弄了一個可執行的,你看下,如果理解不正確,及時指出。
https://jsfiddle.net/j6toc479/3/
相關文章:
1. javascript - npm下載的模塊不完整是什么問題?2. java - Spring事務回滾問題3. apache - 本地搭建wordpress權限問題4. c++ - 如何在python的阻塞的函數中獲取變量值5. node.js - 我想讓最后進入數據庫的數據,在前臺最先展示,如何做到?6. wordpress - Nginx中禁止訪問txt,robots.txt文件例外,規則該怎么寫?7. 剛放到服務器的項目出現這中錯誤,有高手指點嗎8. python - django 按日歸檔統計訂單求解9. python 操作mysql如何經量防止自己的程序在之后被惡意注入(說白了就是問一下python防注入的一些要點)10. mysql - 面試題:如何把login_log表轉換成last_login表?
