vant的picker的坑及解決
vant的picker的坑
<view class="picker" bindtap="goSub"> {{subjectname}} <image class="img" src="../../images/bottom-arrow-pic.png"></image> <!-- 年級篩選 --> <van-popup show="{{ subShow }}" bind:close="subClose" position="bottom" overlay-style="background:rgba(0,0,0,0.3)"> <van-picker columns="{{ subColumns }}" bind:cancel="subCancel" bind:confirm="subConfirm" show-toolbar value-key="name" toolbar-class="cancon" /> </van-popup> </view>
咋一看上面的代碼貌似沒有什么問題,但是點(diǎn)擊picker出來之后會發(fā)現(xiàn),關(guān)閉不了了,無論怎么點(diǎn)都不會關(guān)閉彈出層,頁面也無報錯信息,經(jīng)過測試發(fā)現(xiàn),組件寫錯地方了
下面是正確的寫法
<view class="picker" bindtap="goSub"> ?? ?{{subjectname}} ?? ?<image class="img" src="../../images/bottom-arrow-pic.png"></image> </view> <!-- 年級篩選 --> <van-popup show="{{ subShow }}" bind:close="subClose" position="bottom" overlay-style="background:rgba(0,0,0,0.3)"> ?? ?<van-picker columns="{{ subColumns }}" bind:cancel="subCancel" bind:confirm="subConfirm" show-toolbar value-key="name" ?? ? toolbar-class="cancon" /> </van-popup>
看出來不同之處了吧,相比大家都明白為什么了。
vant-picker級聯(lián)問題
級聯(lián)時主要注意一級二級之間的聯(lián)動,需要一個方法處理,其他的跟單列的相同
<div class="content"> <div @click="openPicker()">{{pickerValue}}</div> <van-popover v-model="showPicker" position="bottom"> <van-picker :columns="columns" show-toolbar :default-index="defaultIndex" @confirm="setData" @cancel="showPicker = false" ></van-picker> </van-popover> </div>
showPicker:false, defaultIndex:0, pickerValue0:'浙江', pickerValue:'溫州', columns: [{ text: '浙江', defaultIndex:NaN, children: [{ text: '杭州', defaultIndex:NaN }, { text: '溫州', defaultIndex:NaN }] }, { text: '福建', defaultIndex:NaN, children: [{ text: '福州', defaultIndex:NaN }, { text: '廈門', defaultIndex:NaN }] }]
openPicker(){ // 打開篩選框的默認(rèn)值 this.columns.map((item,index)=>{ if(this.pickerValue0===item.text){ this.defaultIndex = parseInt(index) for(let i =0 ;i<item.children.length;i++){ if(this.pickerValue === item.children[i].text){ item.defaultIndex = parseInt(i) } } } }) console.log(this.columns); this.showPicker = true },
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于vue中根據(jù)用戶權(quán)限動態(tài)添加路由的問題
每次路由發(fā)生變化時都需要調(diào)用一次路由守衛(wèi),并且store中的數(shù)據(jù)會在每次刷新的時候清空,因此需要判斷store中是否有添加的動態(tài)路由,本文給大家分享vue中根據(jù)用戶權(quán)限動態(tài)添加路由的問題,感興趣的朋友一起看看吧2021-11-11Vue.js使用this.$confirm換行顯示提示信息實例
在編寫Web應(yīng)用時,實現(xiàn)多行文本顯示通常需要用到HTML標(biāo)簽或JavaScript特定函數(shù),本文介紹了如何使用JavaScript的$createElement函數(shù)來創(chuàng)建多行文本顯示,$createElement可以創(chuàng)建任何HTML標(biāo)簽,使得在JavaScript中控制HTML輸出更加靈活,通過簡單的代碼示例2024-10-10詳解vue中$nextTick和$forceUpdate的用法
這篇文章主要介紹了詳解vue中$nextTick和$forceUpdate的用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12ant-design-vue中設(shè)置Table每頁顯示的條目數(shù)量方式
這篇文章主要介紹了ant-design-vue中設(shè)置Table每頁顯示的條目數(shù)量方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10