模板web属性,加载结束后获取控件长度的异常

TEST.cpt

需求:因为需要加载结束后判断某一控件值,对另一控件是否可用进行控制,过程中遇到一个小问题。

因为目前实现的方法是获取控件的数组,然后遍历操作,length值比较重要,虽然单条记录的异常情况影响比较小,不过还是希望能解决这个问题。


测试模板TEST

添加控件,命名为test,测试时通过改变查询条件,改变显示的条数

加载结束后 js:

var test = contentPane.getWidgetsByName("test");

console.log(test.length);

填报预览时,当记录条数仅有一条时,会输出undefined,当记录条数大于1条时,均能正常输出length值。

----------------------

conlose.log(test)

单条时查看控制台输出的是sb的json

多条时输出的是sb的数组

廿旧 发布于 2020-7-13 09:51 (编辑于 2020-7-13 10:05)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
孤陌Lv6资深互助
发布于2020-7-13 10:08

这个好像是BUG 单选的时候获取不到 不过你可以判断输出undefined时 值为1 就好了

  • 廿旧 廿旧(提问者) 解决了...自己有点钻牛角尖了
    2020-07-13 10:12 
  • dongp dongp 回复 廿旧(提问者) 请问 contentPane.getWidgetsByName获得控件长度异常问题怎么解决的
    2020-11-12 16:41 
  • 廿旧 廿旧(提问者) 回复 dongp 因为存在多条记录是返回的是数组形式,length属性是有值的。单条记录时返回的是json格式,没有length。所以这时候判断一下length是否存在就好了。如果是数组就按数组的形式test[i].getValue()之类的操作控件属性,如果是json就省略下标直接test.getValue()
    2020-11-24 09:40 
最佳回答
0
snrtuemcLv8专家互助
发布于2020-7-13 09:54

获取数组应该是

var test = contentPane.getWidgetsByName("test").getValue();


  • 廿旧 廿旧(提问者) 修改试过了,把console注释掉了,预览时会直接报CustomJSError。
    2020-07-13 10:02 
  • 3关注人数
  • 448浏览人数
  • 最后回答于:2020-7-13 10:08
    请选择关闭问题的原因
    确定 取消
    返回顶部