vue中van-picker的選項(xiàng)插槽的使用
van-picker的內(nèi)部選項(xiàng)怎么來(lái)自定義
首先要確保 Vant UI 的版本在2.10.0以上
然后利用插槽slot來(lái)實(shí)現(xiàn),在Vant 里插槽有一個(gè)進(jìn)階用法 #
<van-picker ? :show-toolbar="false" ? :default-index="2" // 默認(rèn)選中第三行,選中第一行的話,上面會(huì)有一段空白,不好看 ? :loading="loading" ? :columns="columns" // 一定要綁定數(shù)據(jù)源 > ? <template #option="item"> // 這里的item就是每一個(gè)選項(xiàng),可以是一個(gè)對(duì)象也可以是一個(gè)字符串 ? // 我這里實(shí)現(xiàn)的是每一行的選項(xiàng)由id和name組成 ? // 切記不要用v-for,會(huì)導(dǎo)致數(shù)據(jù)重復(fù)出現(xiàn)在一個(gè)選項(xiàng)里 ? ? <van-row> ? ? ? <van-col :span="12" class="van-hairline--right"> ? ? ? ? <p style="text-align: center"> ? ? ? ? ? {{ item.id }} ? ? ? ? </p> ? ? ? </van-col> ? ? ? <van-col :span="12" class="van-hairline--left"> ? ? ? ? <p style="text-align: center"> ? ? ? ? ? {{ item.name }} ? ? ? ? </p> ? ? ? </van-col> ? ? </van-row> ? </template> </van-picker>
附上Vant的官方地址:https://vant-contrib.gitee.io/vant/#/zh-CN/home
Vant選擇器使用插槽
官方提供樣式滿足不了自己需要的樣式時(shí)可以使用插槽可以自定義布局樣式:
我這里配合了popup彈窗層使用,具體看自己的需求
<van-popup v-model="sexShow" position="bottom" :style="{ height: '50%' }"> <van-picker :show-toolbar="true" :columns="columns" ref="getValues" @confirm="onConfirm"> <template #cancel="item"> <p> 性別 </p> </template> <template #confirm="item"> <div class="sexContent"> <!-- <van-button class="submit">保存</van-button> --> <van-button class="submited">保存</van-button> </div> </template> <template #option="item"> <p style="text-align: center"> {{item.text}} </p> </template> </van-picker> </van-popup>
columns: [{ text: '男', value: 1 }, { text: '女', value: 2 }],
方法:
onConfirm(value) { console.log(value) //打印的是自己定義的數(shù)組對(duì)象,然后就可以進(jìn)行自己的相關(guān)操作了 },
另外:
this.$refs.getValues.getValues()
是通過(guò) ref 可以獲取到 Picker 實(shí)例并調(diào)用實(shí)例方法,不知道的話可以自己先打印出來(lái)看看,
雖然簡(jiǎn)單,但是也是第一次遇到,記錄一下下,以免忘記(我的記憶只有七秒,忘得快)
下面是效果圖,有點(diǎn)丑,勿噴
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue判斷字符串(或數(shù)組)中是否包含某個(gè)元素的多種方法
在我們前端日常開(kāi)發(fā)中經(jīng)常會(huì)遇到判斷一個(gè)字符串中是否包含某個(gè)元素的需求,下面這篇文章主要給大家介紹了關(guān)于Vue判斷字符串(或數(shù)組)中是否包含某個(gè)元素的多種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09vue.js默認(rèn)路由不加載linkActiveClass問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于vue.js默認(rèn)路由不加載linkActiveClass問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-12-12在vue中高德地圖引入和軌跡的繪制的實(shí)現(xiàn)
這篇文章主要介紹了在vue中高德地圖引入和軌跡的繪制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10vue 動(dòng)態(tài)給每個(gè)頁(yè)面添加title、關(guān)鍵詞和描述的方法
這篇文章主要介紹了vue 動(dòng)態(tài)給每個(gè)頁(yè)面添加title、關(guān)鍵詞和描述的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Vue3實(shí)現(xiàn)計(jì)算屬性的代碼詳解
計(jì)算屬性對(duì)于前端開(kāi)發(fā)來(lái)說(shuō)算是經(jīng)常使用的一個(gè)能力了,本文將從代碼層面來(lái)給大家介紹下Vue3是如何實(shí)現(xiàn)計(jì)算屬性的,需要的朋友可以參考下2023-07-07vue+video.js實(shí)現(xiàn)視頻播放列表
這篇文章主要為大家詳細(xì)介紹了vue+video.js實(shí)現(xiàn)視頻播放列表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10