数据中台数据中台
申请试用
新闻动态
了解袋鼠云最新动态
新闻动态>对属于你帮你制作炫酷的可视化效果>
对属于你帮你制作炫酷的可视化效果
2019115|文章来源:-

袋鼠云深耕商业智能领域十多年,自主研发的一款融合了数据源适配、ETL数据处理、数据建模、数据分析、数据填报、工作流、门户、移动应用等核心功能而打造的全能型数据分析平台,可灵活满足各类复杂需求。

第一步:分析组件

分析组件,做组件之前,应该是已经存在设计图,你可以清楚的知道你将要实现一个什么样的组件,具有怎么样的功能。思考一下使用什么方式去实现。

经过分析通过echarts.js可以实现,有一个不规则形状的柱形图和时间轴。下面进入知识储备阶段。

第二步:了解组件相关重要知识

要学会制作一个组件,当然要对它进行一个基础的了解才能在制作时游刃有余呢。下面我们来了解组件的组成部分,如图所示

1、取数定义:定义组件需要的默认数据以及数据格式。

2、属性:添加自定义的属性。比如添加自定义的autoplay属性,在组件里实现逻辑控制以后,就可以通过在属性面板操作,改变组件。

3、预览:可以在制作组件的过程中,边写边查看效果

4、源代码:写静态的html代码。

5、default.js:写组件创建的脚本。js部分有几个重要的函数:

1) init(cwidget, vardata, events, storagedata, resources:组件是创建时会执行init函数,cwidget是该组件对象,vardata以json的格式存储取数,events以json的格式存储用户在右边属性上设置的事件,storagedata以字符串格式储存组件自己需要存储的值,resources以json的格式存储资源及权限校验信息.

2) setProperty(key, value, cwidget):当属性面板发生变化时,想要组件应该做相应的改变,则实现该方法。key为属性名称,value是当前的值,cwidget是组件对象。

3) refreshDatas(cwidget, vardata, storagedata):刷新操作,数据改变时,调用该方法,重新渲染数据。

4) resize(cwidget): 组件大小改变时执行,通过实现resize()方法,使得组件自适应。

5) dispose(cwidget): 销毁操作,销毁自己相关的东西。

6、defalut.css:写组件需要的样式表。

备注:如果需要添加脚本或者样式表可以点击加号添加。

第三步:实际操作

哇,终于来到了实际操作部分,此时的你是头昏脑胀还是信心十足呢?话不多说,我们愉快的开始酷屏制作吧!

1、分析数据格式和需要开放的属性接口。

以该组件为例:需要x轴数据,数据格式定为一维数组;需要y轴数据,数据格式定为多维数组;需要时间轴数据,数据格式定为一维数组;

需要开放的属性:是否自动播放属性,播放时间间隔属性。

2、组件自身的实现,包括静态html,js,css,以本例讲解。

html部分:本例不需要其他html,只需要提供一个父节点。

css部分:父节点百分百撑满容器。

js:创建组件的动态脚本,使用第三方js时,通过EUI.include(“js文件路径”)引入进来。这个例子,js实现步骤:

1、获得echart实例

2、获得echart需要的option参数;

3、调用echart的setOption(option)方法;

4、实现setProperty方法,某一项发生变化就实现响应的动作。

5、实现resize()方法,使组件可以自适应,本例只需要调用echart实例的resise()方法。

6、实现refreshDatas(),即在数据发生变化时,执行重新渲染组件的操作。

7、最后实现dispose方法,销毁组件相关东西。

免费试用袋鼠云数字化基础软件,开启企业数字化增长之旅
免费试用袋鼠云数字化基础软件,开启企业数字化增长之旅
袋鼠云立体IP
在线咨询
在线咨询
电话咨询
电话咨询
微信社群
微信社群
资料下载
资料下载
返回顶部
返回顶部