把Fusioncharts封装成Ext组件的思路 及实现
Fusioncharts和Ext都是强大的前台展现技术,虽然可以一起使用,但总感觉很别扭。
一般的做法是先new Fusioncharts()创建一个图,并且使用render()渲染到一个div里
然后Ext的panel组件使用contentEl把盛图的div放进来.这样做虽然可以,但是经常会出现一些问题.
现在发现的问题:
1.同一个图不能更换swf。
2.使用选项卡时,没渲染过的图不能更新,必须挨个跳一遍。
3.对图形更新时,由于使用的setDataUrl(),参数是get方式传递,如果参数过多会有问题。
4.每个图还需要写放图的div,很麻烦。
5.不能像Ext组件一样随意布局和调整属性。
6.等等。
考虑这些缺点,如果把fusioncharts封装成ext的一种panel组件,
利用baseParams收集参数,可通过ajax-post提交向后台请求xml,
调用fusioncharts自己的setDataXML()对图形进行显示。
对于选项卡必须挨个跳一遍的问题,由于自己可以判断panel是否渲染过,可以选择先把xml数据存放在一个临时的属性里,
渲染时再把最新的xml拿出来即可。
对于动态换图形swf,由于一个panel对应一个图,swf应该只是panel的一个属性,每次panel渲染时会根据swf属性创建图形。
最重要的是,作为一个Ext-panel,放到弹出窗口,提示窗,选项卡里肯定都行,布局起来就非常方便了。
只要放到items:[]里面就能用,如果用xtype就更方便了
以下就是在window里面包含一个panel面板。动态生成html。
function fchart{
var feeStatisticPanel = new Ext.Panel({
html : "<div id='chart1'></div>"
});
var feeStatisticGraphWin = new Ext.Window({
frame : true,
width : 416,
height : 333,
title : "费用统计图",
shadow : true,
modal : true,
items : [feeStatisticPanel]
});
feeStatisticGraphWin.show();
var string="";
//string用来保存FusionCharts的XML格式及数据。
var myChart= new FusionCharts(
basePath+"/portal/assets/FusionCharts/swfs/MSLine.swf?ChartNoDataText=no data",
"myChartId", "600", "400", "0", "0");
myChart.setTransparent(true);
myChart.setDataXML(string);
myChart.render("chart1");
};
把Fusioncharts封装成Ext组件的思路 及实现相关推荐
- 把Fusioncharts封装成Ext组件的思路
Fusioncharts和Ext都是强大的前台展现技术,虽然可以一起使用,但总感觉很别扭. 一般的做法是先new Fusioncharts()创建一个图,并且使用render()渲染到一个div里 然 ...
- monaco-editor基本使用以及monaco-editor封装成vue组件
文章目录 一.monaco-editor基本使用 二.monaco-editor封装成vue组件 一.monaco-editor基本使用 以vue2项目为例 安装依赖 npm i monaco-edi ...
- android 按钮点击动画效果_如何用纯css打造类materialUI的按钮点击动画并封装成react组件...
作为一个前端框架的重度使用者,在技术选型上也会非常注意其生态和完整性.笔者先后开发过基于vue,react,angular等框架的项目,碧如vue生态的elementUI, ant-design-vu ...
- Vue使用wangEditor 封装成独立组件实现富文本编辑器
1.使用npm安装: npm install wangeditor 2.将编辑器封装一个组件,创建editor.vue组件: <template><div id="edit ...
- vue中怎样实现弹出层动画效果?由上而下渐渐显示---封装成复用组件
子组件: <template><div class="home"><!-- 首先将要过渡的元素用transition包裹,并设置过渡的name --& ...
- vue 封装dialog_element-dialog封装成子组件
移除 {{Edit}} import UserEditfrom "./UserEdit-dialog.vue"; import updatefrom './Update.vue'e ...
- 封装element分页组件
项目场景: 将 element-ui 中分页封装成公共组件 描述: admin后台中会有很多的表格以及分页的应用,所以考虑将分页分装成公共组件 <!--封装组件 vue页面--> < ...
- 纯生js ajax,纯生js实现Element中input组件的部分功能(慢慢完善)并封装成组件
现在实现的有基础用法.可清空.密码框,参考链接:https://element.eleme.cn/#/zh-CN/component/input HTML代码:想要测试哪个组件,直接将对应组件解开注释 ...
- react antd confirm content list_React造轮系列:对话框组件 - Dialog 思路
React造轮系列:对话框组件 - Dialog 思路 对话框一般是我们点击按钮弹出的这么一个东西,主要类型有 Alter, Confirm 及 Modal, Modal 一般带有半透明的黑色背景.当 ...
最新文章
- win10 4步快速安装vue
- 虚拟化方案应用场景及优劣
- node.js 爬虫中文乱码 处理
- hpuoj--1093: 回文数(一)
- 什么是实验室人员比对人员_CNAS实验室认可对人员、设备的要求
- 词频统计的java实现方法——第一次改进
- linux将a文件移动到bb,linux中vi整理全集(基础)
- 作死把mysql root用户的权限给去掉了或者忘记密码了怎么办
- 斜杠“/”与反斜杠“\”的区别
- 维护2G网络的稳定必须提升到战略高度
- THINKPADT400安装XP蓝屏
- 追光的人beta冲刺总结
- 计算机基础使用操作培训ppt,计算机基础操作培训课件ppt课件.ppt
- 最优化问题的Matlab优化工具箱求解总结
- IOS设备恢复模式和DFU模式 区别、进入方法
- 用于自动化测量数据评估的ASAM ODS分析服务器集成
- MySQL修改表的字段
- 两年嵌入式总结--面试
- python 图片生成视频 moviepy_MoviePy
- 1290 越狱(逆向思维-快速幂)
热门文章
- 电视升级鸿蒙系统,网友升级了鸿蒙系统,各项体验都很不错,终于有了自己的系统...
- Linux串口测试工具
- ubuntu18.04安装搜狗中文输入法
- D28 1000瓶药中找出一瓶毒药,10只老鼠做试验
- 量子力学奇妙之旅-算符/薛定谔方程/概率流密度
- Schiff Move Free维骨力这个牌子的保健效果怎么样,是要给中老年人群服用的
- 重返月球,铺路火星:2024年首位女性登月,280亿美元开启太空探索新纪元-1
- Python——二进制8位加法器(采用手算二进制加法的过程实现)(tkinter实现)【2021-07-08】
- 【宝塔面板建站】10分钟windows宝塔面板一键部署安装wordpress,无需服务器和域名本地运行(保姆级图文)
- 在u盘运行linux系统软件,主编帮你xp系统利用U盘直接运行Linux软件 的步骤【图】...