最近在工作的時候需要實現多個條件聯合查詢,這個其實就是一條sql語句。但是,我們數據庫中存儲的是根據前端傳來id的值所對應的值,而不是直接存的id,使用select組件時,卻只能取到value值,無法作為后台查詢的條件。
我們需要的是select 組件的label值,而不是看不見的value值。
首先,根據element ui select組件使用手冊,給組件添加'change'方法
1 @change=changeValue
再根據Array 的 find方法找出對應的值即可。
1 changeValue(value) { 2 console.log(value); 3 let obj = {}; 4 obj = this.options.find((item)=>{ 5 return item.value === value; 6 }); 7 console.log(obj.label); 8 }
這里需要注意的是,code中'this.options'代表的是你需要獲取label值的數組,'item.value'的'value'代表的是你數組中跟label對應的遍歷的屬性名。最后返回的item就是找到的對象。哦,還有就是'obj.label'的是數組中對應的顯示的屬性名。
小白勿噴~
參考文章:https://segmentfault.com/q/1010000009693531/a-1020000009696270