tab切换事件

tab切换时更改数据集参数,还有别的方法吗,切换时图表会刷新两次。image.png

image.png

FineReport jiawangliu 发布于 2023-3-2 11:32
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-3-2 11:49

试试不是给控件赋值,直接js给图表赋值看看

FR.Chart.WebUtils.changeParameter({ 

chartID: '图表名', 

para: {

"参数名1": "参数值1",

"参数名2": "'参数值2"

})

最佳回答
0
CD20160914Lv8专家互助
发布于2023-3-2 11:36(编辑于 2023-3-2 11:38)

if(b==0)

每个里面写两个等号看一下,你所有的一个等号全改成双等号

  • jiawangliu jiawangliu(提问者) 一样
    2023-03-02 11:40 
  • CD20160914 CD20160914 回复 jiawangliu(提问者) 正常不会呀。你的所有js发出来看一下呢
    2023-03-02 11:44 
  • jiawangliu jiawangliu(提问者) 回复 CD20160914 // 获取下拉框 var a = _g().getWidgetByName(\'org_code\'); setTimeout(function() { var b = _g().getWidgetByName(\"tabpane0\").getShowIndex(); if(b == 0){ a.setValue(\'1001119\'); }else if(b == 1){ a.setValue(\'2001219\'); } }, 20);
    2023-03-02 11:45 
  • jiawangliu jiawangliu(提问者) 回复 CD20160914 我觉得可能时延时造成的,但是不延时有获取不到切换后的下标
    2023-03-02 11:46 
  • CD20160914 CD20160914 回复 jiawangliu(提问者) 你延时设置一个100或者150呢?不要20
    2023-03-02 11:46 
最佳回答
0
YmengLv5中级互助
发布于2023-3-2 11:41(编辑于 2023-3-2 14:11)

JS两个等号才是等于,一个等号是赋值,你这个两个条件都满足了,所以刷新了两次

把代码改成下面这样,用window.flag参数接收上一次的b,if里再加个window.flag!=b

这样就只刷新一次了

setTimeout(function(){

        var a = _g().getWidgetByName('org_code'); 

var b = _g().getWidgetByName("tabpane0").getShowIndex(); 

if(window.flag!=b && b == 0){ a.setValue('1001119'); }

else if(window.flag!=b && b == 1){ a.setValue('2001219');} 

window.flag=b;

},20)

  • jiawangliu jiawangliu(提问者) 改了也刷新两次额
    2023-03-02 11:42 
  • Ymeng Ymeng 回复 jiawangliu(提问者) tab切换事件导致的,会获取两次b
    2023-03-02 11:50 
  • 3关注人数
  • 412浏览人数
  • 最后回答于:2023-3-2 14:11
    请选择关闭问题的原因
    确定 取消
    返回顶部