收藏
回答

动态生成 Picker 如何独立选择器

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug Picker 工具 6.6.6 1.9.94



- 需求的场景描述(希望解决的问题)

通过 view  - wx:for    动态生成多个(具体数量不明)Picker

它们的选项都是固定的

--- 我现阶段做法是根据文档 使用 如下的方式

<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">

<view class="picker">

当前选择:{{array[index]}}

<view>

<picker>

但是 我希望 每个 picker 都相互独立  比如第一个选择器 选引索 0    第二个选引索 3 ------

- 希望提供的能力

我希望 每个 picker 都相互独立  比如第一个选择器 选引索 0    第二个选引索 3

然后在*.js中能针对某一个得到选择值..

现在想到的办法是 通过 e.currentTarget.id 去取出标签的id  然后 通过 hashmap 保存起来

但是又出现新的问题了...

保存了之后 如何控制页面的 picker 切换选项呢   (如果这里更改 index的话 所有的picker都改变了.这里要求只更改选择的哪一个)

最后一次编辑于  2018-05-18
回答关注问题邀请回答
收藏

1 个回答

  • 追光者จุ๊บ 💞
    追光者จุ๊บ 💞
    2018-05-18

    搞定了  换了一种思路

    全部用map存起来就行了 附上代码

    WXML:

    <view wx:for="{{bitems}}" wx:key="id">

    <view>ID:{{bitems[index].D_Index}} 设备码:<font class="Device_Code">{{bitems[index].D_Code}}</font></view>

    <view>名称:

    <picker id="{{index}}" bindchange="bindPickerChange" value="{{index}}" range="{{array}}">

    <view class="picker">

    当前选择:{{array[Aindex[index].ConIndex]}}

    </view>

    </picker>

    </view>

    </view>



    JS:

    array: ['美国', '中国', '巴西', '日本'],

    objectArray: [

    {

    id: 0,

    name: '美国'

    },

    {

    id: 1,

    name: '中国'

    },

    {

    id: 2,

    name: '巴西'

    },

    {

    id: 3,

    name: '日本'

    }

    ],

    Aindex: null




    var strCou ="[";

    for (var cou in it)

    {

    strCou = strCou + "{\"ConIndex\":\"0\"},";

    }

    strCou = strCou.slice(0,strCou.length-1);

    strCou = strCou+"]";

    console.log("strCou :" + strCou);

    var Alist = JSON.parse(strCou);

    that.setData({ Aindex: Alist});




    bindPickerChange: function (e) {

    var that = this;

    var id = e.target.id;

    var inds = that.data.Aindex;

    inds[id].ConIndex = e.detail.value;

    that.setData({ Aindex: inds });

    }


    2018-05-18
    有用
    回复 2
    • 疯狂的小辣椒
      疯狂的小辣椒
      2018-05-18
      值得分享
      2018-05-18
      回复
    • 2019-07-04

       page lifeCycleMethod onLoad function

      ReferenceError: it is not defined


      2019-07-04
      回复
登录 后发表内容