高阳0910 发表于 2023-1-6 10:09:56

setConfig导致数据验证弹框无限弹出【SJS-16567】

本帖最后由 Ellia.Duan 于 2023-1-9 16:34 编辑

使用cdn的形式引入插件相关的JS、CSS 加快初始化速度
demo中的 标记颜色的单元格 设置了手机号的数据验证。开启不忽略空值。
style.backColor = 'rgb(254, 243, 205)'

dv8 = GC.Spread.Sheets.DataValidation.createFormulaValidator('REGEX("^1\d{9}$")')

dv8.ignoreBlank(false)

使用了setConfig后 。导致输入错误值弹出弹框后点击确定会一直弹出,关闭不了弹框
this.designer.setConfig(this.config)

注释 setConfig 就能直接确定关闭。

Ellia.Duan 发表于 2023-1-6 19:02:51

这边观察了下您的代码,您对默认config ,没有做处理,为什么需要再次setconfig 。初始化的时候即加载了configthis.designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById('spreadjs-view'), GC.Spread.Sheets.Designer.DefaultConfig);
如果之后对config没有做修改,是不需要再次setConfig

高阳0910 发表于 2023-1-6 20:06:24

原有代码是有对config处理的,只不过这里有写 ,没有意义,因为只要使用了setConfig 就会出现问题

高阳0910 发表于 2023-1-6 20:06:59

本帖最后由 高阳0910 于 2023-1-7 11:14 编辑

Ellia.Duan 发表于 2023-1-6 19:02
这边观察了下您的代码,您对默认config ,没有做处理,为什么需要再次setconfig 。初始化的时候即加载了con ...
原有代码是有对config处理的,只不过这里没有写 ,没有意义,因为只要使用了setConfig 就会出现问题

高阳0910 发表于 2023-1-9 09:56:17

Ellia.Duan 发表于 2023-1-6 19:02
这边观察了下您的代码,您对默认config ,没有做处理,为什么需要再次setconfig 。初始化的时候即加载了con ...

大佬 这个问题有方式解决吗? 还有就是 setConfig 时 效率也不行。有什么提速的方式 吗?

Ellia.Duan 发表于 2023-1-9 10:23:51

高阳0910 发表于 2023-1-9 09:56
大佬 这个问题有方式解决吗? 还有就是 setConfig 时 效率也不行。有什么提速的方式 吗?
您先不要着急,这边一上班就在看您的这个问题。正在调研为什么造成了弹窗无限弹出。至于您说的性能问题,这个问题解决之后再帮您看。

高阳0910 发表于 2023-1-9 10:38:43

Ellia.Duan 发表于 2023-1-9 10:23
您先不要着急,这边一上班就在看您的这个问题。正在调研为什么造成了弹窗无限弹出。至于您说的性能问题, ...

好的 好的 谢谢哈

Ellia.Duan 发表于 2023-1-9 11:13:18

您好,经过调研,注释掉您代码中的此行代码

不会出现无限弹出的问题。
请问下,这里,您为什么要设置此单元格的值为空呢?注释此行代码后,弹窗将弹出两次,这个问题将继续调研,暂时与setConfig无关。

高阳0910 发表于 2023-1-9 11:32:22

本帖最后由 高阳0910 于 2023-1-9 11:41 编辑

Ellia.Duan 发表于 2023-1-9 11:13
您好,经过调研,注释掉您代码中的此行代码

不会出现无限弹出的问题。

这个是为了防止原有单元格有值情况下清空值。
例如 我设置单元格为单选 男,女。 然后又把该单元格该改给复选 你,我,他。 如果 设置男女后选择了男,在设置成复选。单元格的值就会不对。所以会有个setValue。
这种情况很容易出现 ,不可避免。
如果注释掉setValue 这行。是有两次弹框。
但是如果注释掉setConfig 就什么问题都没有。

Ellia.Duan 发表于 2023-1-9 16:34:41

高阳0910 发表于 2023-1-9 11:32
这个是为了防止原有单元格有值情况下清空值。
例如 我设置单元格为单选 男,女。 然后又把该单元格该改 ...

您可以将重置单元格代码放在设置数据验证之前,即

这样**窗出现两次,关于问什么出现了两次,已就具体问题询问了开发团队,问题编号是SJS-16567。
页: [1] 2
查看完整版本: setConfig导致数据验证弹框无限弹出【SJS-16567】