锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

微信小程序picker多列选择器 详解

时间:2023-03-01 18:30:00 扁形传感器tca

PS:multiArray:它是一个二维数组,其中有几个元素,证明几列选择器;随着操作的变化,初始化存储每列默认数据,multiArray动态存储当前选定数据对应的数据列。(语言表达能力太差,希望大家能理解结合程序)

multiIndex:一维数组用于存储各列选中值的下标。

以下代码为官方示例,在代码中注释。

wxml页面:

                    {     
      {multiArray[0][multiIndex},{     
      {multiArray[1][multiIndex[1]},{     
      {multiArray[2][multiIndex[2]]}}        

js页面:

  /**    * 页面的初始数据    */   data: {     index: 0,     //multiArray二维数组,picker多列选择器只支持二维数组     multiArray: 无脊柱动物, 脊柱动物, 扁性动物, 线形动物, ‘环节动物’, 软体动物, 节肢动物, 猪肉绦虫, 吸血虫,        //multiIndex一维数组,存储每列选定的值下标     //默认值multiIndex: [0, 0, 0],其中第一个0表示选中multiArray[0][0]‘无脊柱动物’,第二个0表示选择multiArray[1][0]'扁[1][0]multiArray[2]     multiIndex: [0, 0, 0]   },    //bindMultiPickerChange选完数据,点击确定后触发   bindMultiPickerChange: function (e) {     console.log('picker发送选择变化,携带值为‘, e.detail.value)     this.setData({       multiIndex: e.detail.value     })   },   //bindMultiPickerColumnChange 选完一列,在当前列触发一次   bindMultiPickerColumnChange: function (e) {     console.log(修改后列为', e.detail.column, , e.detail.value);     var data = {       multiArray: this.data.multiArray,       multiIndex: this.data.multiIndex     };     //e.detail.column  取值范围 0 1 2     ///记录当前选择列值的下标     data.multiIndex[e.detail.column] = e.detail.value;         //根据当前选择的列,当联动更新后两列的值时e.detail.column=3时,在完成上述赋值后,跳过下面switch,     switch (e.detail.column) {       case 0:///当前滑动操作第0列===============         switch (data.multiIndex[0]) {           case 0:///无脊柱动物             data.multiArray[1] = 扁性动物, 线形动物, ‘环节动物’, '软体动物', 节肢动物             data.multiArray[2] = 猪肉绦虫, 吸血虫;             break;           case 1://脊柱动物             data.multiArray[1] = ['鱼', '两栖动物', 爬行动物;             data.multiArray[2] = 鲫鱼, 带鱼;             break;         }         ///后两列默认值为第0元素         data.multiIndex[1] = 0;         data.multiIndex[2] = 0;         break;       case 1:///当前滑动操作第一列===============         switch (data.multiIndex[0]) {           case 0:///无脊柱动物             switch (data.multiIndex[1]) {               case 0:///平形动物                 data.multiArray[2] = 猪肉绦虫, 吸血虫;                 break;               case 1:///线形动物                 data.multiArray[2] = [蛔虫];                 break;               case 2://链接动物                 data.multiArray[2] = [蚂蚁, 」;                 break;               case 3:///软体动物                 data.multiArray[2] = 河蚌, '蜗牛',                  break;               case 4:                 data.multiArray[2] = 昆虫, 甲壳动物, 蛛形动物, 多足动物;                 break;             }             break;           case 1://脊柱动物             switch (data.multiIndex[1]) {               case 0:                 data.multiArray[2] = 鲫鱼, 带鱼;                 break;               case 1:                 data.multiArray[2] = 青蛙, 娃娃鱼;                 break;               case 2:                 data.multiArray[2] = 蜥蜴, '龟', 壁虎;                 break;             }             break;         }         data.multiIndex[2] = 0;         break;     }     console.log(data.multiIndex);     this.setData(data);   },

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章