亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vant中的picker選擇器自定義選項(xiàng)內(nèi)容

 更新時(shí)間:2022年12月05日 10:19:55   作者:sunddy_x  
這篇文章主要介紹了vant中的picker選擇器自定義選項(xiàng)內(nèi)容,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vant picker選擇器自定義選項(xiàng)內(nèi)容

項(xiàng)目中遇到需要在選擇器中展示多行數(shù)據(jù),這里需要用到picker的自定義選項(xiàng)內(nèi)容。


代碼

<template>
  <div class="app-container">
    <van-nav-bar :title="navTitle" />
    <section>
      <van-form @submit="onSubmit">
        <van-field
          readonly
          clickable
          name="picker"
          :value="value"
          label="選擇器"
          placeholder="點(diǎn)擊選擇"
          @click="showPicker = true"
        />
        <van-popup v-model="showPicker" position="bottom">
          <van-picker
            show-toolbar
            :columns="columns"
            value-key="name"
            item-height="56px"
            @confirm="onConfirm"
            @cancel="showPicker = false"
          >
            <template #option="option">
              <div style="display: flex; flex-direction: column; align-items: center;">
                <div>姓名:{{ option.name }}</div>
                <div>年齡:{{ option.age }}</div>
              </div>
            </template>
          </van-picker>
        </van-popup>
        <div style="margin: 16px;">
          <van-button round block type="info" native-type="submit">提交</van-button>
        </div>
      </van-form>
    </section>
  </div>
</template>
<script>
export default {
  name: 'Form',
  data() {
    return {
      navTitle: '表單',
      value: '',
      columns: [{
        name: '張三',
        age: 18
      }, {
        name: '李四',
        age: 19
      }],
      showPicker: false
    }
  },
  methods: {
    onConfirm(value) {
      this.value = value
      this.showPicker = false
    },
    onSubmit(values) {
      console.log('submit', values)
    }
  }
}
</script>
<style lang="less" scoped>
  section {
    padding: 20px;
  }
</style>

效果圖

vant 使用picker二級(jí)級(jí)聯(lián)

其實(shí)邏輯比較簡(jiǎn)單(話不多說(shuō)上代碼)

<van-field
          readonly
          clickable
          name="bankId"
          label="機(jī)構(gòu)名稱"
          :value="bankIdValue"
          placeholder="選擇機(jī)構(gòu)"
          @click="bankIdShowPicker = true"
        />
        <van-popup v-model="bankIdShowPicker" round position="bottom">
          <van-picker
            show-toolbar
            :columns="bankId_columns"
            @cancel="bankIdShowPicker = false"
            @confirm="bankIdShowPickerOnConfirm"
          />
        </van-popup>
export default {
  data() {
  bankIdShowPicker: false,
      bankId_columns: [
        {
          text: "",
          id: "",
          children: [
            {
              text: "",
              id: "",
            },
            {
              text: "",
              id: "",
            },
          ],
        },
      ],
      bankIdMap: {},
  }
  
  mounted() {
    console.log("mounted.........");
    this.getBranchList();
  },
  methods: {
  getBranchList() {
  //此處調(diào)用的接口
      this.$get("/user/findBranchId")
        .then((res) => {
          console.log("res.data", res.data);
          if (res.data.resultCode == "0") {
            this.bankId_columns[0].text = res.data.data.branchName;
            var childrenBankList = res.data.data.childBranchList;
            let map = new Map();
            this.bankId_columns[0].children = [];
            for (let i = 0; i < childrenBankList.length; i++) {
              let childrenBanObject = {
                text: "",
                id: "",
              };
              childrenBanObject.text = childrenBankList[i].branchName;
              childrenBanObject.id = childrenBankList[i].id;
              this.bankId_columns[0].children.push(childrenBanObject);//插入數(shù)據(jù)
              map.set(childrenBankList[i].branchName, childrenBankList[i].id);
            }
            this.bankIdMap = map;
          } else {
            Toast(res.data.resultDesc);
          }
        })
        .catch((err) => {
          Toast("出了點(diǎn)小問(wèn)題");
          throw err;
        });
    },
    //選擇器確認(rèn)按鈕
    bankIdShowPickerOnConfirm(value) {
      console.log("value", value);
      console.log("children", this.bankId_columns[0].children);
      this.bankIdValue = value[1];
      this.childrenBankIdValue = this.bankIdMap.get(value[1]);
      console.log("childrenBankIdValue", this.childrenBankIdValue);
      this.bankIdShowPicker = false;
    },
  }

這是后臺(tái)返回?cái)?shù)據(jù)

這是后臺(tái)返回?cái)?shù)據(jù)

來(lái)看效果!!


在這里插入圖片描述

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue項(xiàng)目依賴升級(jí)報(bào)錯(cuò)處理方式

    vue項(xiàng)目依賴升級(jí)報(bào)錯(cuò)處理方式

    這篇文章主要介紹了vue項(xiàng)目依賴升級(jí)報(bào)錯(cuò)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue官方文檔梳理之全局配置

    Vue官方文檔梳理之全局配置

    這篇文章主要介紹了Vue官方文檔梳理之全局配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • vue.js中使用echarts實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)刷新功能

    vue.js中使用echarts實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)刷新功能

    這篇文章主要介紹了vue.js中使用echarts實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)刷新功能,需要的朋友可以參考下
    2019-04-04
  • 使用Karma做vue組件單元測(cè)試的實(shí)現(xiàn)

    使用Karma做vue組件單元測(cè)試的實(shí)現(xiàn)

    這篇文章主要介紹了使用Karma做vue組件單元測(cè)試的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • vue中定義全局聲明vscode插件提示找不到問(wèn)題解決

    vue中定義全局聲明vscode插件提示找不到問(wèn)題解決

    這篇文章主要為大家介紹了vue中定義全局聲明vscode插件提示找不到問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • vue-element-admin如何設(shè)置默認(rèn)語(yǔ)言

    vue-element-admin如何設(shè)置默認(rèn)語(yǔ)言

    這篇文章主要介紹了vue-element-admin如何設(shè)置默認(rèn)語(yǔ)言,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue項(xiàng)目中大文件切片上傳實(shí)現(xiàn)秒傳與斷點(diǎn)續(xù)傳的詳細(xì)實(shí)現(xiàn)過(guò)程

    Vue項(xiàng)目中大文件切片上傳實(shí)現(xiàn)秒傳與斷點(diǎn)續(xù)傳的詳細(xì)實(shí)現(xiàn)過(guò)程

    這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中大文件切片上傳實(shí)現(xiàn)秒傳與斷點(diǎn)續(xù)傳的詳細(xì)實(shí)現(xiàn)過(guò)程, 在開(kāi)發(fā)中,如果上傳的文件過(guò)大,可以考慮分片上傳,分片就是說(shuō)將文件拆分來(lái)進(jìn)行上傳,將各個(gè)文件的切片傳遞給后臺(tái),然后后臺(tái)再進(jìn)行合并,需要的朋友可以參考下
    2023-08-08
  • vue實(shí)現(xiàn)背景圖片鋪滿整個(gè)屏幕(適配所有機(jī)型)

    vue實(shí)現(xiàn)背景圖片鋪滿整個(gè)屏幕(適配所有機(jī)型)

    在網(wǎng)頁(yè)設(shè)計(jì)中,背景全屏是一種常見(jiàn)的視覺(jué)效果,通過(guò)正確的CSS樣式設(shè)置,可以實(shí)現(xiàn)背景全屏且內(nèi)容在固定一屏大小內(nèi)完全顯示,如果內(nèi)容超出一屏,則可以通過(guò)滾動(dòng)條查看剩余內(nèi)容,這種設(shè)計(jì)可以提升用戶的瀏覽體驗(yàn),使網(wǎng)頁(yè)看起來(lái)更加整潔和專業(yè)
    2024-10-10
  • vue獲取DOM節(jié)點(diǎn)的常用方法

    vue獲取DOM節(jié)點(diǎn)的常用方法

    這篇文章主要給大家介紹了vue獲取DOM節(jié)點(diǎn)的常用方法,使用ref屬性,使用$el屬性,使用querySelector和querySelectorAll,使用$refs和querySelector,這幾種方法,需要的朋友可以參考下
    2023-10-10
  • 自定義Vue組件打包、發(fā)布到npm及使用教程

    自定義Vue組件打包、發(fā)布到npm及使用教程

    這篇文章主要介紹了自定義Vue組件打包、發(fā)布到npm及使用教程 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05

最新評(píng)論