欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

uniapp?u-picker多列用法以及設(shè)置默認(rèn)選中值

 更新時(shí)間:2023年06月08日 10:39:35   作者:奈何-1912*  
uview組件庫(kù)u-picker組件可能很多人不熟悉,下面這篇文章主要給大家介紹了關(guān)于uniapp?u-picker多列用法以及設(shè)置默認(rèn)選中值的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

uview官方文檔并未對(duì)多列操作和如何設(shè)置默認(rèn)值做過(guò)多的說(shuō)明,本文就其來(lái)做詳細(xì)的使用解釋:

一、簡(jiǎn)介

<u-picker title="選擇圖書(shū)館/崗位" 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ì)打開(kāi)加載動(dòng)畫(huà)

二、 使用 

本文的 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":"龍崗圖書(shū)館"}]
this.changeDpartList= [{"id":1,"name":"行政"},{"id":2,"name":"人事"}]

每次打開(kāi)頁(yè)面時(shí),在onShow勾子中重新請(qǐng)求接口數(shù)據(jù) (防止數(shù)據(jù)在別的系統(tǒng)有所變化,如果你的數(shù)據(jù)是固定不變的,則只獲取一次即可)

this.$refs.uPicker.setIndexs(0, 0) 設(shè)置第一列的默認(rèn)選中值為第一個(gè)(微信小程序無(wú)法將picker實(shí)例傳出來(lái),只能通過(guò)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) {
					// 打開(kāi)加載狀態(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組件庫(kù) u-picker組件選項(xiàng)滑動(dòng)選中延時(shí)、單列選擇器默認(rèn)選中

1、u-picker組件選項(xiàng)滑動(dòng)選中延時(shí)的問(wèn)題只需添加一個(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)文章

最新評(píng)論