element中Select 選擇器中級傳值也傳label值

上一篇文章中也有寫到過怎麼在select選擇器中取值,但是如果在賦值就會發現因爲是一個對象這個值沒有辦法帶過去,所以我又找資料發現可以這樣子寫哦

用Array find方法用對象的屬性查找數組裏的對象即可

changeValue(value) {
    console.log(value);
      let obj = {};
      obj = this.options.find((item)=>{
          return item.value === value;
      });
      console.log(obj.label);
}

具體demo 如下

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>vue中獲取選擇下拉框的值和label標籤</title>
    <!-- 引入樣式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
    <template>
        <el-select v-model="value" placeholder="請選擇" @change="changeValue">
            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
        </el-select>
    </template>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- 引入組件庫 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
    var Main = {
        data() {
            return {
                options: [{
                    value: '選項1',
                    label: '黃金糕'
                }, {
                    value: '選項2',
                    label: '雙皮奶'
                }, {
                    value: '選項3',
                    label: '蚵仔煎'
                }, {
                    value: '選項4',
                    label: '龍鬚麪'
                }, {
                    value: '選項5',
                    label: '北京烤鴨'
                }],
                value: ''
            }
        },
    }
    var Ctor = Vue.extend(Main)
    new Ctor({
        methods:{
            changeValue(value) {
                console.log(value);
                let obj = {};
                obj = this.options.find((item)=>{
                    return item.value === value;
                });
                console.log(obj.label);
            }
        }
    }).$mount('#app')
</script>
</body>
</html>
<!--備註:
1、statuses中的value中只能設置value屬性
2、key值也是隻能設置成item.value不然會報錯
-->

當然你也可以直接在methods中添加這個方法,也是可以輸出label和value的哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章