收藏
回答

建议picker[mode=region]的value属性能够接受区划代码

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

需求的场景描述


对于标准的CRUD操作页面,更新操作页面内部逻辑流程大致是这样的:

a. 加载当前数据,填充到输入框中,如果是选择项填充到picker中。

b. 让用户自行修改

c. 验证用户的输入,重新提交。

其中第一步和第三步的数据格式应该尽量是一致的,即上传给后台是什么,详情加载回来应该还是什么,这样才能够反复地进行修改操作。这是前提。


在picker[mode=region]这种情况下,最合适的数据格式是区划代码,也就是字符串,而不是现在的Array。理由如下:

a. 大量应用都是既有小程序、又有APP的。但是APP中使用的地址选择器,其选项及地区的文字表示和小程序是不完全相同的,这样在小程序和APP之间如果使用Array表示地址,地址就难以打通。区划代码就没有这个问题,因为区划代码是标准的,无论什么样的展示,最终都能跟区划代码对应上,这样区划代码就是小程序和APP中地址数据的标准格式。

b. 区划代码是相对稳定的。城市、地区是有可能会改名的。如果小程序地址选择器更新,那么Array拿到的数据将使得更名后的地址无法跟更名前的地址对应上。但是更名是不影响区划代码的。

c. 区划代码没有政策风险。如果没有区划代码,没人会责备你为什么不加台湾地区。等国家要求你加时,国家一定会公布对应的区划代码。


所以picker[mode=region]无论是value输入还是change后得到的输出都默认应该是区划代码,而不是Array。但是考虑到小程序已经上线,遗留问题不好处理,那么至少无论value输入还是change后得到的输出,都应该支持区划代码。现在change输出中已有区划代码,建议value输入也支持区划代码。


希望提供的能力


建议picker[mode=region]的value输入也支持区划代码。

最后一次编辑于  2018-10-28  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 刘聪
    刘聪
    2018-10-28

    另外报一个bug:

    这里(这个开发者社区)发表文章中,有序列表展示的样式和编写过程中的预览不一致,数字序号前面的空白不见了。即便手动添加行前空格,也不会显示。对描述的视觉效果有较大影响。不知道是不是页面显示的bug。

    2018-10-28
    赞同
    回复
  • Special
    Special
    2018-10-29

    你好,你的反馈我们已收到,我们会在后续的版本中考虑增加类似功能。

    2018-10-29
    赞同
    回复 2
    • FlashFact
      FlashFact
      2018-11-09

      虽然形式不同,这个问题可是有各种各样的反馈的,也不是第一次出现了。大家希望的是更成熟的组件

      2018-11-09
      回复
    • Mustang🐟
      Mustang🐟
      2018-11-13

      老铁 这个组件没得用了啊   就一个array还是存的区域名称   现在detail里面连code都去除了!!!!!!!!


      2018-11-13
      回复