[ABI 5.1] 自定义组件的问题

26330
18

13203185211 小试身手Lv3

发表于2020-7-15 17:27

悬赏1

已解决

楼主
我在echarts上找到了一个组件柱状图,然后我需要把柱状图的代码复制到自己创建的组件中去  我需要把代码复制到哪呀
18个回答

只看楼主

xxxl 数据领袖Lv6

发表于2020-7-16 11:54

只看该作者

取消 关注该作者的回复

12#

13203185211 发表于 2020-7-16 10:57
function init(cwidget, vardata, events, storagedata, resources){
    var basedom = cwidget.basedom ...

百度查了一下确实可能是js引入的问题https://blog.csdn.net/Ice__cola/article/details/88796059 您这句代码
if(!window["echarts4"]) {
    EUI.include('vfs/root/products/ebi/sys/coolrpt/coolresource/js/third/echarts.js');
  }

能直接改成
include('vfs/root/products/ebi/sys/coolrpt/coolresource/js/third/echarts.js');
试试?

13203185211 小试身手Lv3

发表于2020-7-16 11:57

只看该作者

取消 关注该作者的回复

13#

xxxl 发表于 2020-7-16 11:54
百度查了一下确实可能是js引入的问题https://blog.csdn.net/Ice__cola/article/details/88796059 [/back ...

好的,等会回去试试,现在在吃饭,谢谢大佬

xxxl 数据领袖Lv6

发表于2020-7-16 12:01

只看该作者

取消 关注该作者的回复

14#

13203185211 发表于 2020-7-16 11:57
好的,等会回去试试,现在在吃饭,谢谢大佬

不客气~如果解决了反馈一下

13203185211 小试身手Lv3

发表于2020-7-16 12:36

只看该作者

取消 关注该作者的回复

15#

xxxl 发表于 2020-7-16 12:01
不客气~如果解决了反馈一下

不行  还是报错

13203185211 小试身手Lv3

发表于2020-7-16 12:36

只看该作者

取消 关注该作者的回复

16#

var mychart = null;
var mychart = null;
/*
* 初始化方法
*
* @params cwidget 组件对象
* @params vardata 取数定义中定义的变量,json格式:{'var1':'xxx'}
* @params storagedata 组件自己需要存储的值,字符串格式
* @params events 事件,用户在右边属性上设置的事件, json格式:{'evt1': function(){...}, 'evt2':function(){....}}
* @params resources 资源及权限校验,json格式:{'resids': ['EBI$12$xxx$1$xxx.rpttpl','EBI$12$xxx$1$xxx.coolrpt'], 'pms': [true, false]}
*/
function init(cwidget, vardata, events, storagedata, resources){
    var basedom = cwidget.basedom;
    var x = vardata.x;
     var y = vardata.y;
    //2引文件
     if(!window["echarts4"]) {
  include('vfs/root/products/ebi/sys/coolrpt/coolresource/js/third/echarts.js');
  }
    //3初始化chart对象
    mychart = echarts4.init(basedom);
    //4实现getValue,初始化属性面板的属性值
getValue(cwidget);
    //5 写getOption的方法传给chart对象
   
    var opt=getOption(x,y);
    //6调用mychart.setOption(opt);
    mychart.setOption(opt);
    //7颜色属性设置, 实现setProperty
    //8联动刷新数据,实现refreshDatas()
    //实现自适应resize
    //10dispose
  
    if(cwidget.isresultview){
        //只在结果界面的时候执行,例如只想在结果界面绑定click事件
    }
}
/**
* 定义了自定义属性时,必须实现该方法,方法名为setProperty
* 当在属性面板上修改属性后,会调用该方法
* @param key  属性名
* @param value  属性值
* @param cwidget  组件对象
* @returns
*/
function setProperty(key, value, cwidget) {
    if (key === 'color') {
            //修改属性xxx时,触发的事
var opt=mychart.getOption();
        debugger;
        opt.series[0].backgroundStyle.color=value;     
    }
    mychart.setOption(opt);
}

/**
* 刷新操作,数据改变时,调用该方法,重新渲染数据
* @param cwidget 组件对象
* @param vardata 取数定义中定义的变量,json格式:{'var1':'xxx'}
* @param storagedata  组件自己需要存储的值,字符串格式
* @returns
*/
function refreshDatas(cwidget, vardata, storagedata){
    var opt = mychart.getOption();
    var x=vardata.x;
    var y=vardata.y;
    opt.xAxis[0].data=JSON.parse(x);
    opt.series[0].data=JSON.parse(y);
    mychart.setOption(opt);

}
/*getOption*/
function getOption(x,y){
   
   
    var option = {
    xAxis: {
        type: 'category',
        data: JSON.parse(x)
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: JSON.parse(y),
        type: 'bar',
        showBackground: true,
        backgroundStyle: {
            color: mycolor
        }
    }]
};
return option;
}


/**
* 组件大小改变时执行
* @param cwidget 组件对象
* @returns
*/
function resize(){
mychar.resize();
}

/**
* 获取组件的参数值
* @param cwidget 组件对象
* @returns
*/
function getValue(cwidget){
    mycolor = cwidget.getProperty("color");
   
}

/**
* 获取组件的参数名称
* @param cwidget 组件对象
* @returns
*/
function getParamName(cwidget){
   
}


/*
* 销毁操作,销毁自己相关的东西
*/
function dispose(cwidget){
     mychart.dispose();
    mychart =null;
    mycolor=null;
}

xxxl 数据领袖Lv6

发表于2020-7-15 17:27

只看该作者

取消 关注该作者的回复

17#

13203185211 发表于 2020-7-16 12:36
var mychart = null;
var mychart = null;
/*

这是自己写的代码问题,您放在f12或者使用debug查错吧

13203185211 小试身手Lv3

发表于2020-7-16 15:13

只看该作者

取消 关注该作者的回复

18#

xxxl 发表于 2020-7-16 14:58
这是自己写的代码问题,您放在f12或者使用debug查错吧

我复制别人的  然后慢慢的改成自己  现在在调试  

13203185211 小试身手Lv3

发表于2020-7-16 15:13

只看该作者

取消 关注该作者的回复

19#

xxxl 发表于 2020-7-16 14:58
这是自己写的代码问题,您放在f12或者使用debug查错吧

我这差不多弄完了  谢谢大佬了   这几天的悉心解答   谢谢

上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号