Vue之el-option下拉框綁定問題
el-option下拉框綁定問題
1、正常使用v-for進行遍歷下拉框內(nèi)容
如果需要增加一個自定義的值,則加一個el-option
el-option用法:
參數(shù) | 說明 | 類型 | 可選值 | 默認值 |
value | 選項的值 | string/number/object | — | — |
label | 選項的標簽,若不設置則默認與 value 相同 | string/number | — | — |
disabled | 是否禁用該選項 | boolean | — | false |
在日常使用el-select 中,新增一條option 如果value對應到值是string則 不影響前端顯示
<el-option key="6" label="蘇州大閘蟹" value="6" />
遇到下拉框不顯示label值,如果綁定的vaule 是number,則需要前面加上: 不然會匹配不到,String不加:沒問題
具體v-bind
<el-option key="6" label="蘇州大閘蟹" :value="6" />
demo如下:
<template> <div> <el-button @click="printSelect">調(diào)試</el-button> //value1 的類型 需要跟:value="item.value" 一樣 <el-select ref="selectValue1" v-model="value1" filterable placeholder="請選擇"> <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" /> //vaule1 為string 則 value="選項6" 前面可以不用加:即v-bind 數(shù)據(jù)綁定 <el-option key="選項6" label="揚州炒飯" value="選項6" /> </el-select> <el-select ref="selectValue2" v-model="value2" no-match-text filterable placeholder="請選擇"> //value2為number 前面需要: <el-option key="5" label="揚州炒飯" :value="5" /> <el-option key="6" label="蘇州大閘蟹" :value="6" /> </el-select> </div> </template>
js如下:printSelect方法 測試 頁面顯示 和 選中之后 數(shù)據(jù)類型 和值
<script> export default { data() { return { options1: [{ value: '選項1', label: '黃金糕' }, { value: '選項2', label: '雙皮奶' }, { value: '選項3', label: '蚵仔煎' }, { value: '選項4', label: '龍須面' }, { value: '選項5', label: '北京烤鴨' }], value1: '選項1', value2: '' } }, created() { //修改value1 value2 值,查看頁面是否匹配到label this.getValue() }, methods: { printSelect: function() { //打印選中到 類型 值 和label值 console.log(typeof this.value1 + '-' + this.value1 + '-' + this.$refs.selectValue1.selected.label) console.log(typeof this.value2 + '-' + this.value2 + '-' + this.$refs.selectValue2.selected.label) }, getValue: function() { this.value1 = '選項2' this.value2 = 5 } } } </script>
2、測試頁面顯示如下
第二個下拉框如果改成
<el-option key="5" label="揚州炒飯" value="5" />
則label顯示不了label值
如何在el-option中綁定事件
我想實現(xiàn)這樣一個功能,我從后臺獲取到一組數(shù)組,想把它放到el-select下拉框當中,然后在每點擊一個el-option選項時,完成一次頁面的跳轉(zhuǎn),因此在我的每一個el-option當中,不只是有value和key這兩個屬性,還帶著一些關于跳轉(zhuǎn)的字段信息。
我的目的就是點擊下拉框的a頁面,然后它給我跳轉(zhuǎn)到’/a’,第一反應肯定就是在el-option當中添加一個點擊事件,但結果不盡人意,后來才發(fā)現(xiàn)el-option是不能觸發(fā)事件的。只能在el-select添加一個change事件,change事件的確可以觸發(fā),但只能獲取到一個數(shù)據(jù),就是model綁定的那個值(也就是name屬性),那這就很惱火了,我的path怎么去獲取呢?
方案
我的解決方法比較粗暴,直接在el-option里面加上一個span元素,由于它在el-option里面,因此可以繼承到item,這時只要在span元素寫上{{item.name}},然后設置為行級塊元素并填充滿整個el-option,并給它添加一個點擊事件@click=hancleClick(item),over??!
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
maptalks+three.js+vue webpack實現(xiàn)二維地圖上貼三維模型操作
這篇文章主要介紹了maptalks+three.js+vue webpack實現(xiàn)二維地圖上貼三維模型操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08詳解vuex數(shù)據(jù)傳輸?shù)膬煞N方式及this.$store undefined的解決辦法
這篇文章主要介紹了vuex數(shù)據(jù)傳輸?shù)膬煞N方式 及 this.$store undefined的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08vue嵌套路由與404重定向?qū)崿F(xiàn)方法分析
這篇文章主要介紹了vue嵌套路由與404重定向?qū)崿F(xiàn)方法,結合實例形式分析了vue.js嵌套路由與404重定向的概念、原理、實現(xiàn)步驟與相關操作技巧,需要的朋友可以參考下2018-05-05Vue中使用定時器(setInterval、setTimeout)的兩種方式
js中定時器有兩種,一個是循環(huán)執(zhí)行?setInterval,另一個是定時執(zhí)行?setTimeout,這篇文章主要介紹了Vue中使用定時器?(setInterval、setTimeout)的兩種方式,需要的朋友可以參考下2023-03-03