【14.2.2】【数据验证中的序列,填入数字序列拿到的列表是字符串的(40749)
本帖最后由 Derrick.Jiao 于 2022-1-11 11:17 编辑单元格的格式不是文本的,这个数据我们会拿来做下拉框再填回去,因为这个 bug,数据验证就过不去了。
目前临时方案是单元格设置成文本格式,这样反而可以过去了,因为验证的预期就是文本。
你好,请问你是如何做回填的呢?我这边直接填写数字是可以通过的,并且getValue拿到的也是数值
Derrick.Jiao 发表于 2021-12-15 11:42
你好,请问你是如何做回填的呢?我这边直接填写数字是可以通过的,并且getValue拿到的也是数值
我们不直接展示表格,而是用表单去代理读写数据,而且本质上这个 api getValidList 就不应该返回错误的数据格式,这是个 bug nutstore 发表于 2021-12-15 12:03
我们不直接展示表格,而是用表单去代理读写数据,而且本质上这个 api getValidList 就不应该返回错误的数 ...
我这边先做进一步确认,此贴现改为保留处理,有进展会在本帖更新(SJS-11264)
您好,经研发确认这个行为是开发包本身的设计,也和excel一样,不是bug,
如果需要数组的话,可以自己转换一下
如果您那边仍然会受此问题影响,欢迎回帖继续沟通
本帖最后由 nutstore 于 2022-1-10 10:23 编辑
Richard.Ma 发表于 2022-1-10 08:56
您好,经研发确认这个行为是开发包本身的设计,也和excel一样,不是bug,
如果需要数组的话,可以自己转换 ...
我感觉你们是不是弄错了问题或者和研发的沟通出现了问题?
这里不是需不需要数组的问题,返回值就是个数组没错,问题是数组里给的值错了。
这里正确的数据应该是 ,而不是 ['1','2','3'],这就是 bug,不然用户就没有手段能够获取到 ValidList 中正确的值了,返回一个错误的数据怎么可能是一个“设计”,或者你让研发说说这么设计的理由?
nutstore 发表于 2022-1-10 10:21
我感觉你们是不是弄错了问题或者和研发的沟通出现了问题?
这里不是需不需要数组的问题,返回值就是个数 ...
你好,这是Excel里面的结构,我们在设计上也是与excel一致。
另外,如果想返回类似这种,可以用formulalist,可以参考附件的demo。
本帖最后由 nutstore 于 2022-1-10 14:38 编辑
Derrick.Jiao 发表于 2022-1-10 11:32
你好,这是Excel里面的结构,我们在设计上也是与excel一致。
不对,这不合理,我举例一个合理实现的伪代码,应该是这样的:
define fn toJSONValue(rawValue): JSONValue
fn getValidList(fStr): Array<JSONValue> {
return fStr.split(',').map(toJSONValue)
}
formula1 = '1,2,3'
formula2 = '"1","2","3"'
getValidList(formula1) //
getValidList(formula2) // ['1','2','3']
这里根本不是设计上与 excel 一致不一致的问题,它这个数据结构是可以做到返回合理数据的,这个接口是你们定义的叫 getValidList,excel 的数据格式和你返回的数据格式是没有关联的,你要遵守的是你们接口的定义,除非你们名字叫 getRawValidListFormula,然后返回一个字符串的 "1,2,3",这样才是合理的。
你这里例子给的代码,是研发让你这么提供的吗,是否可以换一个研发问问
nutstore 发表于 2022-1-10 14:35
不对,这不合理,我举例一个合理实现的伪代码,应该是这样的:
define fn toJSONValue(rawValue): JSONV ...
了解,感谢您的反馈,这边也跟我们研发同时做了二次确认。目前该接口定义情况是正如上述的描述。
您提供的例子确实也是一个比较合理的场景。我们这边也会向我们研发做建议进行改进。
基于产品的稳定性,因为有部分用户已经是按照上面的用法去使用了,直接修改会带来较大的变更。目前暂时无变更或修改的计划,后续有修改计划这边也会向研发建议并且在帖子中告知。再次感谢为产品提供的建议。 Derrick.Jiao 发表于 2022-1-10 16:33
了解,感谢您的反馈,这边也跟我们研发同时做了二次确认。目前该接口定义情况是正如上述的描述。
您提 ...
除非你们文档上写明了这个东西的具体工作方式,否则这里这种情况就是一个 bug,不是一个 feature,你们文档上并没有这样做出保证。
这个问题作为一个 bug 是需要修复的,而不是因为少量用户基于 bug 去实现了一些东西(这种一般叫 hack 实现)就不顾其他更广泛的用户群体的体验。
而且我认为也没有多少用户会需要这个 bug 来做东西,即使做了在升级版本后要改也很容易改动,比如 `getValidList().map(Number)`。但如果你不修这个 bug 对于普通用户来说要改则会复杂很多。
页:
[1]
2