需求的场景描述
对于标准的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输入也支持区划代码。