最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue設(shè)置select下拉框的默認(rèn)選項(xiàng)詳解(select空白bug解決)

 更新時(shí)間:2022年12月10日 15:29:51   作者:小安駕到  
最近開始學(xué)習(xí)vue,在學(xué)習(xí)的過程中遇到的問題將記錄在這里,下面這篇文章主要給大家介紹了關(guān)于Vue設(shè)置select下拉框的默認(rèn)選項(xiàng)(select空白bug解決)的相關(guān)資料,需要的朋友可以參考下

最近在用vue設(shè)置表單數(shù)據(jù)時(shí)發(fā)現(xiàn)了一個(gè)小問題:用vue動(dòng)態(tài)渲染select下拉框時(shí),select下拉框會(huì)出現(xiàn)空白的bug。

<template>
  <div>
    <select name="art-cate" v-model="select">
        <option disabled selected style="display: block;">請(qǐng)選擇您的科目</option>
        <option v-for="(item,index) in arr " 
                :key="index" 
                :value="item.name">{{item.name}}</option>
    </select>
  </div>
</template>
 
<script>
export default {
    data() {
        return {
            arr: [{ name: '語文' }, { name: '數(shù)學(xué)' }, { name: '英語' }],
            select:''
        }
    }
</script>

Bug如下:

明明有一個(gè)selected的option選項(xiàng),為什么會(huì)是一片空白呢?其實(shí)原因很簡單,就一句話:<select>的v-model變量是空的。

這句話一出可能很多人都恍然大悟了,v-model指令是雙向數(shù)據(jù)流動(dòng),vue變量沒有值,那么select框當(dāng)然也是空白的嘍。 

可是另一個(gè)問題來了,為什么其他的表單不會(huì)這樣呢?

單選框、多選框和輸入框雖然默認(rèn)都是沒有值的,但是它們沒有值也不會(huì)影響它們的表現(xiàn)形式,因?yàn)樗鼈儽緛砭涂梢允强瞻椎?,只?<select> 標(biāo)簽不行,必須要有一個(gè)值才可以。所以我們可能會(huì)忽略這點(diǎn),忘了給 v-model 綁定的變量賦值,結(jié)果就是select標(biāo)簽是一片空白。

解決方法很簡單:就是把v-model綁定的變量賦值即可。

select:'請(qǐng)選擇您的科目'  // select是 <select>標(biāo)簽 雙向綁定的變量

到此為止,好像事件已經(jīng)結(jié)束了,bug已經(jīng)沒有了,然鵝還有一個(gè)小問題:

當(dāng)你輸入完全正確的字符串時(shí),select當(dāng)然一切正常,然而如果你輸入的是一些亂七八糟的字符時(shí),select仍然是一片空白。

select:'亂七八糟的sdsdf'

效果圖:

這是因?yàn)閟elect綁定的vue變量必須和option中的value值絕對(duì)對(duì)應(yīng),否則就不會(huì)顯示option的文本元素。

那為什么輸入 "請(qǐng)選擇您的科目" 就能顯示出來呢?我明明沒有給這個(gè)option指定value值啊,

原因是:select的某個(gè)option標(biāo)簽在沒有指定value值時(shí),option默認(rèn)會(huì)把標(biāo)簽內(nèi)的文本內(nèi)容當(dāng)做自己的value值。

所以我們輸入的看似是 "請(qǐng)選擇您的科目" ,實(shí)際上輸入的是 第一個(gè)option的value值,所以select標(biāo)簽就顯示出來第一個(gè)option的文本內(nèi)容啦。

這也會(huì)引出這個(gè)bug的另一個(gè)觸發(fā)方式:當(dāng)我們從后端接收到的value值為undefined時(shí),我們將其渲染到select標(biāo)簽上,也會(huì)引發(fā)<select>標(biāo)簽顯示空白的bug,因?yàn)闆]有哪個(gè)option的value值是undefined的。

但同時(shí),我們也可以利用這個(gè)特性,手動(dòng)的把第一個(gè)option的值設(shè)置為空,那么即使vue變量沒有設(shè)置初識(shí)值,那么也會(huì)顯示出來第一個(gè)option的文本內(nèi)容。

<option value="">請(qǐng)選擇您的科目</option>

此時(shí)即使與<select>綁定的變量為 ' ' ,也能顯示出來這個(gè)option的文本內(nèi)容了。

至此,有關(guān)于vue和select空白的bug就講解完畢咯,總結(jié)如下:

  1. 之所以用v-model綁定的<select>標(biāo)簽顯示空白,是因?yàn)関ue變量 沒有指定默認(rèn)值;其他表單元素不需要指定變量的默認(rèn)值,是因?yàn)樗鼈儽緛砭涂梢允强瞻椎摹?/li>
  2. 解決方法有二:一、設(shè)置變量的默認(rèn)值  二、設(shè)置默認(rèn)的option的value值為空字符串   
  3. 當(dāng)我們給vue變量一個(gè)指定的默認(rèn)值,但該值無法和任何option的value值對(duì)應(yīng)時(shí),<select>標(biāo)簽仍然會(huì)顯示一片空白,與<select>綁定的變量的值,必須要為某個(gè)option的value值才行!因?yàn)橹挥羞@樣,<select>標(biāo)簽才能顯示出option的文本內(nèi)容。
  4. 沒有指定value值的option,其文本內(nèi)容會(huì)自動(dòng)成為這個(gè)option的value值。

總結(jié)

到此這篇關(guān)于Vue設(shè)置select下拉框的默認(rèn)選項(xiàng)的文章就介紹到這了,更多相關(guān)Vue select下拉框默認(rèn)選項(xiàng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解基于vue-cli優(yōu)化的webpack配置

    詳解基于vue-cli優(yōu)化的webpack配置

    本篇文章主要介紹了詳解基于vue-cli優(yōu)化的webpack配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 解決vue-router在同一個(gè)路由下切換,取不到變化的路由參數(shù)問題

    解決vue-router在同一個(gè)路由下切換,取不到變化的路由參數(shù)問題

    今天小編就為大家分享一篇解決vue-router在同一個(gè)路由下切換,取不到變化的路由參數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue-router為激活的路由設(shè)置樣式操作

    vue-router為激活的路由設(shè)置樣式操作

    這篇文章主要介紹了vue-router為激活的路由設(shè)置樣式操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue中proxy代理的用法(解決跨域問題)

    vue中proxy代理的用法(解決跨域問題)

    這篇文章主要介紹了vue中的proxy代理的用法(解決跨域問題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue升級(jí)之路之vue-router的使用教程

    vue升級(jí)之路之vue-router的使用教程

    自動(dòng)安裝的vue-router,會(huì)在src 文件夾下有個(gè)一個(gè) router -> index.js 文件 在 index.js 中創(chuàng)建 routers 對(duì)象,引入所需的組件并配置路徑。這篇文章主要介紹了vue-router的使用,需要的朋友可以參考下
    2018-08-08
  • uniapp 拖拽圖片排序功能實(shí)現(xiàn) 類似于微信朋友圈效果

    uniapp 拖拽圖片排序功能實(shí)現(xiàn) 類似于微信朋友圈效果

    這篇文章主要介紹了uniapp 拖拽圖片排序功能實(shí)現(xiàn)類似于微信朋友圈,一部分是拖拽的放大做小,xy位置判定,圖片數(shù)組的插入排序,另一部分是上傳加號(hào)圖片的?定位? 動(dòng)態(tài)計(jì)算分為幾列,每一個(gè)圖片大小的位置?絕對(duì)定位的計(jì)算,需要的朋友可以參考下
    2024-07-07
  • ant-design-vue按鈕樣式擴(kuò)展方法詳解

    ant-design-vue按鈕樣式擴(kuò)展方法詳解

    這篇文章主要為大家介紹了ant-design-vue按鈕樣式擴(kuò)展方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄

    前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄

    這篇文章主要介紹了前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • vue-router重寫push方法,解決相同路徑跳轉(zhuǎn)報(bào)錯(cuò)問題

    vue-router重寫push方法,解決相同路徑跳轉(zhuǎn)報(bào)錯(cuò)問題

    這篇文章主要介紹了vue-router重寫push方法,解決相同路徑跳轉(zhuǎn)報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue3如何解決路由緩存問題(響應(yīng)路由參數(shù)的變化)

    Vue3如何解決路由緩存問題(響應(yīng)路由參數(shù)的變化)

    這篇文章主要介紹了Vue3如何解決路由緩存問題(響應(yīng)路由參數(shù)的變化),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評(píng)論

山丹县| 宜君县| 长海县| 临城县| 衢州市| 巫山县| 奉节县| 呼伦贝尔市| 合肥市| 锦州市| 红原县| 灌云县| 迭部县| 宁远县| 合山市| 上饶县| 武义县| 康乐县| 卢龙县| 永城市| 合川市| 普陀区| 古蔺县| 长子县| 南部县| 阿勒泰市| 沐川县| 高碑店市| 佛冈县| 诸城市| 三门县| 济宁市| 紫金县| 贵州省| 治县。| 金川县| 建始县| 永登县| 彭山县| 苍南县| 天门市|