移动端参数面板使用this.options.form.getWidgetByName(\"\").报错

var ssq_type = this.options.form.getWidgetByName("ssq_type").getValue();

if(ssq_type =="按月"){

this.options.form.getWidgetByName("start_ssq").setVisible(false);

     this.options.form.getWidgetByName("end_ssq").setVisible(false);

     this.options.form.getWidgetByName("zhi").setVisible(false);

     this.options.form.getWidgetByName("ssq_month").setVisible(true);

}else{

this.options.form.getWidgetByName("start_ssq").setVisible(true);

     this.options.form.getWidgetByName("end_ssq").setVisible(true);

     this.options.form.getWidgetByName("zhi").setVisible(true);

     this.options.form.getWidgetByName("ssq_month").setVisible(false);

}

我使用单选按钮组控制日期控件可见或隐藏达到交互效果,在PC端无报错,移动端就会报错CustomJSError : Cannot read properties of undefined (reading 'setVisible');

FineReport 两千乱渣 发布于 2022-12-5 14:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-12-5 14:50
  • 两千乱渣 两千乱渣(提问者) 不是JS问题,我用了标签控件,移动端显示不了标签控件,所以JS获取不到导致报错。
    2022-12-05 15:02 
  • Z4u3z1 Z4u3z1 回复 两千乱渣(提问者) 那可以换成文本控件默认隐藏掉试试
    2022-12-05 15:10 
最佳回答
0
snrtuemcLv8专家互助
发布于2022-12-5 14:50(编辑于 2022-12-5 15:19)

参考移动端的 JS 接口-https://help.fanruan.com/finereport/doc-view-586.html

===============

image.png

根据设备判断,执行不同js就不会报错了

JS判断PC和移动设备类型-https://help.fanruan.com/finereport/doc-view-1875.html

最佳回答
0
用户k6280494Lv6资深互助
发布于2022-12-5 15:16(编辑于 2022-12-5 15:17)

加个延时,试试

setTimeout(function () {   var ssq_type = this.options.form.getWidgetByName("ssq_type").getValue();if(ssq_type =="按月"){this.options.form.getWidgetByName("start_ssq").setVisible(false);     this.options.form.getWidgetByName("end_ssq").setVisible(false);     this.options.form.getWidgetByName("zhi").setVisible(false);     this.options.form.getWidgetByName("ssq_month").setVisible(true);}else{this.options.form.getWidgetByName("start_ssq").setVisible(true);     this.options.form.getWidgetByName("end_ssq").setVisible(true);     this.options.form.getWidgetByName("zhi").setVisible(true);     this.options.form.getWidgetByName("ssq_month").setVisible(false);}  },500);

  • 3关注人数
  • 663浏览人数
  • 最后回答于:2022-12-5 15:19
    请选择关闭问题的原因
    确定 取消
    返回顶部