收藏
回答

关于picker组件的疑问

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 picker 客户端 stable stable

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

大部分的场景中,我们的range都是类似于如下结构:

[

   {

        value:'id_card',

        name:'身份证'

    },

    ...

];

name是我们要展示的文字。

value是最终要提交的数据。

1,该种场景下,picker的value属性,却只能保存range的下标,实际需求为objectArray的value值,这样的场景如何处理呢?

2,range的objectArray来自于后端接口,已知picker的默认值为'id_card',但并不知道其下标的情况下,如何赋值默认值?

- 希望提供的能力

希望可以自定义picker的value属性,类似于range-key这样的设置。

picker更像是有大量数据的radio,是否可以提供radio一样的处理方式。



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

3 个回答

  • 冰封四月
    冰封四月
    2018-12-19

    看看能解决你的需求吗?https://github.com/IceApriler/miniprogram-picker

    2018-12-19
    有用
    回复
  • 王连杰
    王连杰
    2018-12-07

    <view class="weui-cell__bd">

    <picker range-key='name' name="idType" bindchange="idTypeChange" value="{{ form.idType}}" range="{{ IDTYPE }}">

    <view wx:for="{{IDTYPE}}">

    <view class="weui-select weui-select_in-select-after" wx:if="{{item.name == form.idType}}"> {{ item.desc }} </view>

    </view>

    </picker>

    </view>


    idTypeChange(e){

    const IDTYPE = this.data.IDTYPE;

    this.setData({

    'form.idType': IDTYPE[e.detail.value].name

    });

    // this.pickerChange('idType', );

    },


    用了列表加条件渲染,给大家提供点思路吧。

    2018-12-07
    有用
    回复
  • 🐨
    🐨
    2018-12-07

    rangeList[e.detail.value].value不是可以取到吗


    2018-12-07
    有用
    回复 1
    • 王连杰
      王连杰
      2018-12-07

      是可以取到,但需要我在表单提交之前对数据进行处理,此外,初始赋值也是一个问题。

      2018-12-07
      回复
登录 后发表内容