如何在Vue中设置默认选择

Posted

技术标签:

【中文标题】如何在Vue中设置默认选择【英文标题】:How to set default selection in Vue 【发布时间】:2019-04-18 08:50:10 【问题描述】:

我似乎无法设置默认选择选项,只要我有v-model,默认选择就不再起作用了

工作:

<select class="uk-select uk-form-width-large" style="float: right">
        <option hidden>Select Bank</option>
        <option v-for="bank in bank_list" v-bind:value="bank">
             bank.bank_name 
        </option>
    </select>

不工作:

<select class="uk-select uk-form-width-large" style="float: right" v-model="bank_selected">
    <option hidden>Select Bank</option>
    <option v-for="bank in bank_list" v-bind:value="bank">
         bank.bank_name 
    </option>
</select>

由于设置默认选项在没有v-model 的情况下有效,我尝试使用@onChange 但无法弄清楚如何通过选定的银行,因为银行循环在&lt;options&gt; 而不是&lt;select&gt; 标签中

<select class="uk-select uk-form-width-large" style="float: right" @onChange="selectOnChange">
    <option hidden>Select Bank</option>
    <option v-for="bank in bank_list" v-bind:value="bank">
         bank.bank_name 
    </option>
</select>

数据和方法:

data() 
    return 
        bank_list: [...],
        bank_selected: , // empty by default
    
,
methods: 
    selectOnChange(event) 
        console.log("onChange....", event);
        // logs event but cannot get value in event.target.value 
    

【问题讨论】:

【参考方案1】:

简单,您的 bank_selected 数据值默认为空对象 ( ),因此您的默认选项值也具有空对象。

<option :value="" hidden>Select Bank</option>

不要忘记 value="" >>> :value="" 之前的冒号 (:)

【讨论】:

【参考方案2】:

对于没有v-model的结构:

SELECT 的“更改事件”是@change,试试这个:

HTML

<select class="uk-select uk-form-width-large" style="float: right" @change="selectOnChange">
    <option hidden>Select Bank</option>
    <option v-for="bank in bank_list" :value="bank">
         bank.bank_name 
    </option>
</select>

通过事件你应该能够获得被选中的元素:

JS

methods: 
    selectOnChange(event) 
        console.log(event.srcElement.value)
    

【讨论】:

以上是关于如何在Vue中设置默认选择的主要内容,如果未能解决你的问题,请参考以下文章

如何在vue js中设置默认日期

如何在 Vue.js 中设置 optgroup 选择标签?

如何在 vue js 中设置输入表单控件默认聚焦,直到输入值?

如何在javascript中设置选择2框的默认值

如何在 vue.js 2 中设置 v-select 中选择的选项值?

当我只有两个选项时,如何在选择选项中设置默认值?