移动端在某个报表设置事件,点击后获取参数传给控件,但页面报表刷新了两次

移动端在某个报表设置事件,点击后获取参数传给控件,

除了此事件无其他事件,但页面报表刷新了两次;

且把最后面给控件传参的事件删除(_g().getWidgetByName("sYear").setValue(a)),就不会刷新两次。

为什么,可以怎么解决

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

_g().getWidgetByName('report1').gotoPage(1, { "type": type }, 'T');

var sYear = _g().getWidgetByName("sYear");//获取year控件的值

var eYear = _g().getWidgetByName("eYear");//获取year控件的值

var sMonth = _g().getWidgetByName("sMonth");//获取month控件的值

var eMonth = _g().getWidgetByName("eMonth");//获取month控件的值

var date_1 = _g().getWidgetByName("date_1");//获取date控件的值

var date_2 = _g().getWidgetByName("date_2");//获取date控件的值

//判断当前控件的值,根据判断结果显示或隐藏其他控件

if (type == "年") {

sYear.setVisible(true);

eYear.setVisible(true);

sMonth.setVisible(false);

eMonth.setVisible(false);

date_1.setVisible(false);

date_2.setVisible(false);

} else if (type == "月") {

sYear.setVisible(false);

eYear.setVisible(false);

sMonth.setVisible(true);

eMonth.setVisible(true);

date_1.setVisible(false);

date_2.setVisible(false);

} else {

sYear.setVisible(false);

eYear.setVisible(false);

sMonth.setVisible(false);

eMonth.setVisible(false);

date_1.setVisible(true);

date_2.setVisible(true);

}

setTimeout(function(){

_g().getWidgetByName("sYear").setValue(a); 

     _g().getWidgetByName("eYear").setValue(a); 

}, 500)

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

FineReport yzm630820 发布于 2024-10-9 10:32
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2024-10-9 10:35

应该是联动效果造成的,赋值两次就会刷新两次,无法解决,除非不绑定数据集

  • yzm630820 yzm630820(提问者) 但是上面的语句不是只赋值了一次吗
    2024-10-09 10:37 
  • 用户k6280494 用户k6280494 回复 yzm630820(提问者) 你有两个赋值语句啊,你删一个就刷新一次了啊
    2024-10-09 10:39 
  • 2关注人数
  • 83浏览人数
  • 最后回答于:2024-10-9 10:35
    请选择关闭问题的原因
    确定 取消
    返回顶部