uniapp?u-picker多列用法以及設(shè)置默認(rèn)選中值
uview官方文檔并未對(duì)多列操作和如何設(shè)置默認(rèn)值做過多的說明,本文就其來做詳細(xì)的使用解釋:
一、簡(jiǎn)介
<u-picker title="選擇圖書館/崗位" keyName="name" @cancel="cancelChange" :loading="loading" ref="uPicker" @change="changeHandler" @confirm="libConfirm" :show="showChange" :columns="[changeLibList, changeDpartList]"></u-picker>
- keyName="name" ,意思是把 name 作為 piker 選項(xiàng)顯示的關(guān)鍵字
- columns作為一個(gè)數(shù)組,其內(nèi)部有幾個(gè)成員,則代表有當(dāng)前piker有幾列
- cancel、change、confirm 分別為取消、改變選值和確定執(zhí)行的幾個(gè)方法
- title為piker的頂部標(biāo)題;loading為true時(shí),會(huì)打開加載動(dòng)畫
二、 使用
本文的 columns = [changeLibList, changeDpartList] 里面有changeLibList 和changeDpartList 兩個(gè)數(shù)組成員,changeLibList 為第一列數(shù)據(jù),changeDpartList 為第二列數(shù)據(jù)。changeLibList 和 changeDpartList 數(shù)據(jù)結(jié)構(gòu)大概如下所示:
this.changeLibList = [{"id":1,"name":"賽爾威"},{"id":2,"name":"龍崗圖書館"}] this.changeDpartList= [{"id":1,"name":"行政"},{"id":2,"name":"人事"}]
每次打開頁面時(shí),在onShow勾子中重新請(qǐng)求接口數(shù)據(jù) (防止數(shù)據(jù)在別的系統(tǒng)有所變化,如果你的數(shù)據(jù)是固定不變的,則只獲取一次即可)
this.$refs.uPicker.setIndexs(0, 0) 設(shè)置第一列的默認(rèn)選中值為第一個(gè)(微信小程序無法將picker實(shí)例傳出來,只能通過ref操作),但此方法只適用于小程序,app用此方法后可能會(huì)造成列表不能滑動(dòng)等bug
async onShow () { // 每次都重新拿新數(shù)據(jù) this.changeLibList = await UserApi.libraryListOfuser(this.user.id) this.changeDpartList = await UserApi.getLibraryJobList(this.changeLibList[0].id) // 防止每次默認(rèn)選中值不一致,設(shè)置其每一列的默認(rèn)選中值都為第一個(gè) this.$refs.uPicker.setIndexs(0, 0) },
在每次切換時(shí),調(diào)用 changeHandler方法請(qǐng)求接口拿到對(duì)應(yīng)的第二列數(shù)據(jù),賦值給changeDpartList,如下:
async changeHandler(e){ const { value, columnIndex, } = e if (columnIndex === 0) { // 打開加載狀態(tài) this.loading = true // 模擬網(wǎng)絡(luò)請(qǐng)求 this.changeDpartList = await UserApi.getLibraryJobList(value[0].id) // 關(guān)閉加載狀態(tài) this.loading = false } },
附:uview組件庫 u-picker組件選項(xiàng)滑動(dòng)選中延時(shí)、單列選擇器默認(rèn)選中
1、u-picker組件選項(xiàng)滑動(dòng)選中延時(shí)的問題只需添加一個(gè)屬性 :immediateChange='true'
2、單列選擇器默認(rèn)選中某一項(xiàng)只需添加一個(gè)屬性,把指定下標(biāo)給它 :defaultIndex="[1]"
<u-picker @haddlePicker="haddlePicker" :showToolbar="true" @cancel="showDate = false" :show="showDate" title="請(qǐng)選擇航班日期" :columns="timeList" keyName="name" :defaultIndex="[1]" :immediateChange='true' ></u-picker>
總結(jié)
到此這篇關(guān)于uniapp u-picker多列用法以及設(shè)置默認(rèn)選中值的文章就介紹到這了,更多相關(guān)u-picker多列用法與默認(rèn)選中值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
uniapp開發(fā)小程序?qū)崿F(xiàn)滑動(dòng)頁面控制元素的顯示和隱藏效果
這篇文章主要介紹了uniapp開發(fā)小程序?qū)崿F(xiàn)滑動(dòng)頁面控制元素的顯示和隱藏效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12uni-app實(shí)現(xiàn)web-view圖片長(zhǎng)按下載解決方案
uniapp的web-view中圖片無法長(zhǎng)按保存,IOS下是正常的,但是Android下長(zhǎng)按無反應(yīng),這篇文章主要介紹了uni-app實(shí)現(xiàn)web-view圖片長(zhǎng)按下載解決方案,需要的朋友可以參考下2023-09-09JS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁倒計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁倒計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08微信小程序?qū)崿F(xiàn)頁面導(dǎo)航的方法詳解
這篇文章主要為大家詳細(xì)介紹一下微信小程序?qū)崿F(xiàn)頁面導(dǎo)航的幾種方法以及幫助大家掌握如何使用頁面之間的導(dǎo)航跳轉(zhuǎn),感興趣的可以了解一下2022-07-07JS實(shí)現(xiàn)頁面超時(shí)后自動(dòng)跳轉(zhuǎn)到登陸頁面
這篇文章主要介紹了JS實(shí)現(xiàn)頁面超時(shí)后自動(dòng)跳轉(zhuǎn)到登陸頁面,需要的朋友可以參考下2015-01-01Bootstrap實(shí)現(xiàn)默認(rèn)導(dǎo)航欄效果
這篇文章主要介紹了Bootstrap實(shí)現(xiàn)默認(rèn)導(dǎo)航欄效果,導(dǎo)航欄是一個(gè)很好的功能,是Bootstrap網(wǎng)站的一個(gè)突出特點(diǎn),本文帶領(lǐng)大家學(xué)習(xí)實(shí)現(xiàn)Bootstrap導(dǎo)航欄,需要的朋友可以參考下2015-12-12