广告
返回顶部
首页 > 资讯 > 精选 >微信小程序中怎么实现一个picker多列选择器
  • 389
分享到

微信小程序中怎么实现一个picker多列选择器

2023-06-20 15:06:34 389人浏览 安东尼
摘要

微信小程序中怎么实现一个picker多列选择器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、效果图(多列)二、普通选择器:mode = selector、多列选择器:m

微信小程序中怎么实现一个picker多列选择器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。


一、效果图(多列)

微信小程序中怎么实现一个picker多列选择器

二、普通选择器:mode = selector、多列选择器:mode = multiSelector

文档地址:微信开发文档 picker选择器

  • 普通选择器:mode = selector,一维数组:array: ['美国', '中国', '巴西', '日本']

  • 多列选择器:mode = multiSelector,二维数组:multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'], ['猪肉绦虫', '吸血虫']]

格式不对,要处理成对应数组格式,占坑图:

微信小程序中怎么实现一个picker多列选择器

三、app.JSON

{  "pages": [    "pages/index/index",    "pages/logs/logs",    "pages/picker/picker"  ],  "entryPagePath": "pages/picker/picker",  "window": {    "backgroundTextStyle": "light",    "navigationBarBackgroundColor": "#fff",    "navigationBarTitleText": "Weixin",    "navigationBarTextStyle": "black"  },  "sitemapLocation": "sitemap.json",  "usinGComponents": {    "van-button": "@vant/weapp/button/index",    "van-area": "@vant/weapp/area/index"  }}

四、picker.wxml

<!--pages/picker/picker.wxml--><view>  <view class="section__title">多列选择器</view>  <picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange"    value="{{multiIndex}}" range="{{newArr}}">    <view class="picker">      当前选择: <van-button type="primary">        {{newArr[0][multiIndex[0]]}},{{newArr[1][multiIndex[1]]}},{{newArr[2][multiIndex[2]]}}</van-button>    </view>  </picker></view>

五、picker.js

多列选择器:mode = multiSelector

注意看数组格式:multiArray数组children,要处理二维数组:

// pages/picker/picker.jsPage({    data: {    multiArray: [{        id: 1,        label: "东南",        children: [{            id: 2,            label: "上海",            children: [{                id: 3,                label: "普陀",              },              {                id: 4,                label: "黄埔",              },              {                id: 5,                label: "徐汇",              },            ],          },          {            id: 7,            label: "江苏",            children: [{                id: 8,                label: "南京",              },              {                id: 9,                label: "苏州",              },              {                id: 10,                label: "无锡",              },            ],          },          {            id: 12,            label: "浙江",            children: [{                id: 13,                label: "杭州",              },              {                id: 14,                label: "宁波",              },              {                id: 15,                label: "嘉兴",              },            ],          },        ],      },      {        id: 17,        label: "西北",        children: [{            id: 18,            label: "陕西",            children: [{                id: 19,                label: "西安",              },              {                id: 20,                label: "延安",              },            ],          },          {            id: 21,            label: "新疆维吾尔族自治区",            children: [{                id: 22,                label: "乌鲁木齐",              },              {                id: 23,                label: "克拉玛依",              },            ],          },        ],      },    ],    multiIndex: [0, 0, 0],    multiIds: [],    newArr: [],  },  bindMultiPickerChange(e) {    console.log(this.data.multiIds);  },  bindMultiPickerColumnChange(e) {    let data = {      newArr: this.data.newArr,      multiIndex: this.data.multiIndex,      multiIds: this.data.multiIds,    };    data.multiIndex[e.detail.column] = e.detail.value;    let searchColumn = () => {      let arr1 = [];      let arr2 = [];      this.data.multiArray.map((v, vk) => {        if (data.multiIndex[0] === vk) {          data.multiIds[0] = {            ...v,          };          v.children.map((c, ck) => {            arr1.push(c.label);            if (data.multiIndex[1] === ck) {              data.multiIds[1] = {                ...c,              };              c.children.map((t, vt) => {                arr2.push(t.label);                if (data.multiIndex[2] === vt) {                  data.multiIds[2] = {                    ...t,                  };                }              });            }          });        }      });      data.newArr[1] = arr1;      data.newArr[2] = arr2;    };    switch (e.detail.column) {      case 0:        // 每次切换还原初始值        data.multiIndex[1] = 0;        data.multiIndex[2] = 0;        // 执行函数处理        searchColumn();        break;      case 1:        data.multiIndex[2] = 0;        searchColumn();        break;    }    this.setData(data);  },    onLoad: function (options) {    let state = {      arr: [],      arr1: [],      arr2: [],      arr3: [],      multiIds: []    }    this.data.multiArray.map((v, vk) => {      state.arr1.push(v.label);      if (this.data.multiIndex[0] === vk) {        state.multiIds[0] = v;      }      if (state.arr2.length <= 0) {        v.children.map((c, ck) => {          state.arr2.push(c.label);          if (this.data.multiIndex[1] === ck) {            state.multiIds[1] = c;          }          if (state.arr3.length <= 0) {            c.children.map((t, tk) => {              state.arr3.push(t.label);              if (this.data.multiIndex[2] === tk) {                state.multiIds[2] = t;              }            });          }        });      }    });    state.arr[0] = state.arr1;    state.arr[1] = state.arr2;    state.arr[2] = state.arr3;    this.setData({      newArr: state.arr,      multiIds: state.multiIds,    });  },    onReady: function () {},    onShow: function () {},    onHide: function () {},    onUnload: function () {},    onPullDownRefresh: function () {},    onReachBottom: function () {},    onShareAppMessage: function () {},});

关于微信小程序中怎么实现一个picker多列选择器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 微信小程序中怎么实现一个picker多列选择器

本文链接: https://www.lsjlt.com/news/297780.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 微信小程序中怎么实现一个picker多列选择器
    微信小程序中怎么实现一个picker多列选择器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、效果图(多列)二、普通选择器:mode = selector、多列选择器:m...
    99+
    2023-06-20
  • 微信小程序picker多列选择器怎么用
    本篇内容主要讲解“微信小程序picker多列选择器怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序picker多列选择器怎么用”吧!vue-next-admin,这是基于 vue3...
    99+
    2023-06-08
  • 微信小程序picker多列选择器(mode = multiSelector)
    目录一、效果图(多列)二、普通选择器:mode = selector、多列选择器:mode = multiSelector三、app.json四、picker.wxml五、picke...
    99+
    2022-11-12
  • 微信小程序picker选择器怎么实现
    本篇内容主要讲解“微信小程序picker选择器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序picker选择器怎么实现”吧!picker选择器分为三种,普通选择器,时间选择器,...
    99+
    2023-06-26
  • 微信小程序中怎么自定义一个多列选择器
    这篇文章给大家介绍微信小程序中怎么自定义一个多列选择器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在.wxml建一个自定义picker组件:<picker  &nbs...
    99+
    2022-10-19
  • 微信小程序实现多列选择器
    本文实例为大家分享了微信小程序实现多列选择器的具体代码,供大家参考,具体内容如下 <picker class="picks" mode="multiSelector" bind...
    99+
    2022-11-13
  • 微信小程序选择器组件picker怎么使用
    本篇内容介绍了“微信小程序选择器组件picker怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!picker组件的定义picker组件...
    99+
    2023-07-05
  • 在微信小程序使用picker实现日期选择
    微信小程序开发项目中,或多或少要使用时间选择器picker实现日期选择。选择开始日期和结束日期 而且选择开始时间后,选择结束时间,能够选择的日期不能比开始日期还要早。要实现以上效果可这样写: 在wxml中写 ...
    99+
    2023-08-25
    微信小程序 小程序 前端
  • 微信小程序自定义多列选择器使用
    本文实例为大家分享了微信小程序自定义多列选择器的具体代码,供大家参考,具体内容如下 项目需要,需要实现一个多列选择器,在用户确定之前,无论列表如何转,都不会影响已确定值的显示,只要用...
    99+
    2022-11-13
  • 微信小程序如何自定义多列选择器
    今天小编给大家分享一下微信小程序如何自定义多列选择器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。项目需要,需要实现一个多列...
    99+
    2023-07-02
  • 微信小程序实现课程选择器
    本文实例为大家分享了微信小程序实现课程选择器的具体代码,供大家参考,具体内容如下 话不多说,直接上效果图 代码如下 wxml <view class="urg_input"&...
    99+
    2022-11-13
  • 微信小程序怎么使用picker实现时间和日期选择框功能
    这篇文章主要介绍微信小程序怎么使用picker实现时间和日期选择框功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1、效果展示2、关键代码① index.wxml<...
    99+
    2022-10-19
  • 微信小程序选择器怎么用
    这篇文章主要介绍“微信小程序选择器怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序选择器怎么用”文章能帮助大家解决问题。页面结构<!--pages/warn/index.wxml...
    99+
    2023-06-26
  • 微信小程序多项选择器checkbox怎么使用
    这篇文章主要介绍“微信小程序多项选择器checkbox怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序多项选择器checkbox怎么使用”文章能帮助大家解决问题。第一的话就是我们的相...
    99+
    2023-07-02
  • 微信小程序中怎么自定义一个单项选择器样式
    微信小程序中怎么自定义一个单项选择器样式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。wxml:<view bindcha...
    99+
    2022-10-19
  • 实现微信小程序中的多级联动选择器效果
    实现微信小程序中的多级联动选择器效果,需要具体代码示例随着微信小程序的普及和发展,越来越多的开发者开始关注小程序的开发技巧和实现效果。其中,多级联动选择器是小程序中常见的一种选择器效果,能够提供良好的用户体验和交互效果。本文将介绍如何在微信...
    99+
    2023-11-21
    微信小程序 选择器 多级联动
  • 微信小程序如何实现picker组件下拉框选择input输入框
    这篇文章主要介绍微信小程序如何实现picker组件下拉框选择input输入框,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现效果图:页面<view class=&q...
    99+
    2022-10-19
  • 微信小程序城市选择器如何实现
    这篇文章主要讲解了“微信小程序城市选择器如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序城市选择器如何实现”吧!城市选择器 region//index.wxml<pic...
    99+
    2023-06-26
  • 微信小程序中怎么实现一个计算器功能
    微信小程序中怎么实现一个计算器功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。目录结构第一次进到页面它的目录结构如下:需要注意的问题(1)添加的新页面文件,都...
    99+
    2023-06-20
  • 实现微信小程序中的日期选择器效果
    随着微信小程序的广泛应用,越来越多的开发者需要实现日期选择器效果来提高用户体验。本文将介绍如何在微信小程序中实现日期选择器效果,并给出具体的代码示例。一、实现思路实现日期选择器效果的基本思路是:首先在 WXML 中建立日期选择器组件,通过 ...
    99+
    2023-11-21
    微信小程序 实现 日期选择器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作