返回顶部
首页 > 资讯 > 精选 >微信小程序中怎么实现一个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://lsjlt.com/news/297780.html(转载时请注明来源链接)

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

猜你喜欢
  • 微信小程序中怎么实现一个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+
    2024-04-02
  • 微信小程序picker选择器怎么实现
    本篇内容主要讲解“微信小程序picker选择器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序picker选择器怎么实现”吧!picker选择器分为三种,普通选择器,时间选择器,...
    99+
    2023-06-26
  • 微信小程序实现多列选择器
    本文实例为大家分享了微信小程序实现多列选择器的具体代码,供大家参考,具体内容如下 <picker class="picks" mode="multiSelector" bind...
    99+
    2024-04-02
  • 微信小程序中怎么自定义一个多列选择器
    这篇文章给大家介绍微信小程序中怎么自定义一个多列选择器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在.wxml建一个自定义picker组件:<picker  &nbs...
    99+
    2024-04-02
  • 微信小程序选择器组件picker怎么使用
    本篇内容介绍了“微信小程序选择器组件picker怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!picker组件的定义picker组件...
    99+
    2023-07-05
  • 在微信小程序使用picker实现日期选择
    微信小程序开发项目中,或多或少要使用时间选择器picker实现日期选择。选择开始日期和结束日期 而且选择开始时间后,选择结束时间,能够选择的日期不能比开始日期还要早。要实现以上效果可这样写: 在wxml中写 ...
    99+
    2023-08-25
    微信小程序 小程序 前端
  • 微信小程序选择器组件picker简单入门
    目录picker组件的定义picker组件的类型picker属性共同的属性时间选择器time参考补充:遇到的问题总结picker组件的定义 picker组件是一种从底部向上弹起的滚动...
    99+
    2023-03-02
    微信小程序picker 微信小程序 选择器 小程序选择器
  • 微信小程序自定义时间段picker选择器
    本文实例为大家分享了微信小程序自定义时间段picker选择器的具体代码,供大家参考,具体内容如下 想实现一个可以选择年份和时间段的日期选择器,如下所示 微信小程序自带的picker...
    99+
    2024-04-02
  • 微信小程序实现课程选择器
    本文实例为大家分享了微信小程序实现课程选择器的具体代码,供大家参考,具体内容如下 话不多说,直接上效果图 代码如下 wxml <view class="urg_input"&...
    99+
    2024-04-02
  • 微信小程序如何自定义多列选择器
    今天小编给大家分享一下微信小程序如何自定义多列选择器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。项目需要,需要实现一个多列...
    99+
    2023-07-02
  • 微信小程序自定义多列选择器使用
    本文实例为大家分享了微信小程序自定义多列选择器的具体代码,供大家参考,具体内容如下 项目需要,需要实现一个多列选择器,在用户确定之前,无论列表如何转,都不会影响已确定值的显示,只要用...
    99+
    2024-04-02
  • 微信小程序多项选择器checkbox
    本文实例为大家分享了微信小程序多项选择器checkbox的具体代码,供大家参考,具体内容如下 第一的话就是我们的相关的布局文件: <view class="container...
    99+
    2024-04-02
  • 微信小程序怎么使用picker实现时间和日期选择框功能
    这篇文章主要介绍微信小程序怎么使用picker实现时间和日期选择框功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1、效果展示2、关键代码① index.wxml<...
    99+
    2024-04-02
  • 微信小程序选择器怎么用
    这篇文章主要介绍“微信小程序选择器怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序选择器怎么用”文章能帮助大家解决问题。页面结构<!--pages/warn/index.wxml...
    99+
    2023-06-26
  • 微信小程序实现时间选择
    本文实例为大家分享了微信小程序实现时间选择的具体代码,供大家参考,具体内容如下  xml:  <view class="day-check" style=...
    99+
    2024-04-02
  • 实现微信小程序中的多级联动选择器效果
    实现微信小程序中的多级联动选择器效果,需要具体代码示例随着微信小程序的普及和发展,越来越多的开发者开始关注小程序的开发技巧和实现效果。其中,多级联动选择器是小程序中常见的一种选择器效果,能够提供良好的用户体验和交互效果。本文将介绍如何在微信...
    99+
    2023-11-21
    微信小程序 选择器 多级联动
  • 微信小程序多项选择器checkbox怎么使用
    这篇文章主要介绍“微信小程序多项选择器checkbox怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序多项选择器checkbox怎么使用”文章能帮助大家解决问题。第一的话就是我们的相...
    99+
    2023-07-02
  • 微信小程序中怎么自定义一个单项选择器样式
    微信小程序中怎么自定义一个单项选择器样式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。wxml:<view bindcha...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作