我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vant中的picker选择器自定义选项内容

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vant中的picker选择器自定义选项内容

vant picker选择器自定义选项内容

项目中遇到需要在选择器中展示多行数据,这里需要用到picker的自定义选项内容。


代码

<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="点击选择"
          @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二级级联

其实逻辑比较简单(话不多说上代码)

<van-field
          readonly
          clickable
          name="bankId"
          label="机构名称"
          :value="bankIdValue"
          placeholder="选择机构"
          @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() {
  //此处调用的接口
      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);//插入数据
              map.set(childrenBankList[i].branchName, childrenBankList[i].id);
            }
            this.bankIdMap = map;
          } else {
            Toast(res.data.resultDesc);
          }
        })
        .catch((err) => {
          Toast("出了点小问题");
          throw err;
        });
    },
    //选择器确认按钮
    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;
    },
  }

这是后台返回数据

这是后台返回数据

来看效果!!


在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vant中的picker选择器自定义选项内容

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vant中的picker选择器自定义选项内容

这篇文章主要介绍了vant中的picker选择器自定义选项内容,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-08

uniapp 使用 uni-data-picker级联选择器,自定义展示,uni小程序

uniapp 使用 uni-data-picker级联选择器,多级选择,自定义展示 先看效果是不是你要的效果 页面组件 uni-data-picker placeholder="请选择" v-model="jiduvalue" :loca
uniapp 使用 uni-data-picker级联选择器,自定义展示,uni小程序
2023-12-23

为什么选择Spring Boot项目的内嵌容器

这篇文章将为大家详细讲解有关为什么选择Spring Boot项目的内嵌容器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新S
2023-05-30

Android自定义可循环的滚动选择器CycleWheelView

最近碰到个项目要使用到滚动选择器,原生的NumberPicker可定制性太差,不大符合UI要求。 网上开源的WheelView是用ScrollView写的,不能循环滚动,而且当数据量很大时要加载的Item太多,性能非常低。 然后,还是自己写
2022-06-06

WheelPicker自定义时间选择器控件的方法

小编给大家分享一下WheelPicker自定义时间选择器控件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文实例为大家分享了WheelPicker自定义时
2023-06-15

怎么自定义选择云服务器的配置

要自定义选择云服务器的配置,您可以按照以下步骤进行操作:1. 了解需求:首先,您需要明确自己的需求,包括服务器的用途、预期的负载、带宽需求、存储需求、安全需求等。2. 选择云服务提供商:根据自己的需求,选择适合您的云服务提供商。3. 选择地
2023-09-11

怎么自定义选择云服务器的配置

自定义云服务器配置指南本指南提供分步说明,指导您优化云服务器配置以满足特定需求。考虑因素包括预期流量、资源密集度、预算和弹性。选择适合配置的CPU、内存、存储、网络和操作系统。通过调整操作系统、安装必需软件、配置防火墙和监视性能来优化配置。使用基准测试和负载测试检查性能,并在需要时进行调整。定期监视和调整确保最佳性能和成本效益。
怎么自定义选择云服务器的配置
2024-04-11

java实现自定义日期选择器的方法实例

前言本文主要介绍的是利用java swing写的一个日期选择器.,Swing 是一个为Java设计的GUI工具包,Swing是JAVA基础类的一部分,Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表,下面话不多说了,
2023-05-31

Android中Fragmen首选项使用自定义的ListPreference的方法

首选项这个名词对于熟悉Android的朋友们一定不会感到陌生,它经常用来设置软件的运行参数。 Android提供了一种健壮并且灵活的框架来处理首选项。它提供了简单的API来隐藏首选项的读取和持久化,并且提供了一个优雅的首选项界面。 几种常见
2022-06-06

Android 中TabLayout自定义选择背景滑块的实例代码

TabLayout是Android 的Material Design包中的一个控件,可以和V4包中的ViewPager搭配产生一个联动的效果。这里我自定义了一个滑块能够跟随TabLayout进行滑动选择的SliderLayout。效果见下
2022-06-06

微信小程序自定义日期选择器的示例分析

这期内容当中小编将会给大家带来有关微信小程序自定义日期选择器的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。日期选择器是我们在写项目的过程中经常遇到的,有需要标题的选择器,也有不需要标题的选择器今
2023-06-26

jQuery中选择查找自定义属性具有特定值的所有元素

同样在HTML5可以通过data-自定义属性名来给元素添加自定义的属性名。一旦添加完成之后。通过JS可以获取以及设置自定义属性。这篇文章主要介绍了jQuery中选择查找自定义属性具有特定值的所有元素
2023-02-25

下拉列表选择项的选中在不同浏览器中的兼容性问题探讨

使用jquery做了一个项目,下拉列表选择项变化时,获取选中项的文本在不同浏览器中的兼容性问题在本文将为大家介绍下
2022-11-15

Android开发中实现IOS风格底部选择器(支持时间 日期 自定义)

本文Github代码链接 https://github.com/AndroidMsky/AndoirdIOSPicker 先上图吧:这是笔者最近一个项目一直再用的一个选择器库,自己也在其中做了修改,并决定持续维护下去。 先看使用方法: 日
2022-06-06

编程热搜

目录