用aceEditor和new Function制作简单的echarts编辑器
效果图
先引入jQuery、echarts和ace.js
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.1/dist/echarts.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/ace/test/ace.js"></script>
在页面中放入ace代码编辑器
<div class="left-part"><div class="btn-wrap"><button id="submit">运行</button></div>// 代码编辑器<pre id="editor"></pre>
</div>
<div class="right-part"><div id="main" style="width:100%;height:400px;"></div>
</div>
获取编辑器
var editor = ace.edit("editor");
更改语言模式
editor.session.setMode("ace/mode/javascript");
使用setOptions方法一次性设置多个选项
editor.setOptions({enableBasicAutocompletion: true, //启用基本自动完成enableSnippets: true, //启用代码段enableLiveAutocompletion: true, // 启用实时自动完成wrap: true, //开启换行});
设置默认显示的图表
与echart官网示例一样(略)
获取到图表配置信息的options字符串
function getChartOptionsStr(el,option){let str// 将传入的option对象转为字符串,第三个参数2表示字符串缩进2个空格option = JSON.stringify(option,null,2)str = `option = ${option};`return str
}
与echart官网图表在线配置编辑器一样,编辑器内容显示当前图表的配置信息,这时候就要为ace’编辑器设置内容
// editor.setValue()第一个参数为内容,第二个参数控制光标位置 1为末尾,-1为首行,不设置的话则为全选
editor.setValue(getChartOptionsStr('main',option),1)
在编辑器中修改完代码后点击运行按钮后重新渲染图表
var submit = document.querySelector('#submit');
submit.addEventListener('click', function () {// 获取编辑器里的配置代码var script = editor.getValue()var myChart = echarts.init(document.getElementById('main'));// 更改图表前先清空当前图表myChart.clear()// 更新图表changeChart(script)
})
更新图表方法
// 更改图表
function changeChart(script) {try {let func = new Function(`var ROOT_PATH = 'https://cdn.jsdelivr.net/gh/apache/echarts-website@asf-site/examples';var option;var myChart = echarts.init(document.getElementById('main'));` + script + `myChart.setOption(option);`)func()} catch (e) {console.log('编辑有误')}}
用aceEditor和new Function制作简单的echarts编辑器相关推荐
- python制作图片编辑器_Tkinter制作简单的python编辑器
想要制作简单的python脚本编辑器,其中文字输入代码部分使用Tkinter中的Text控件即可实现. 但是问题是,如何实现高亮呢?参考python自带的编辑器:python27/vidle文件夹中的 ...
- 用Vue实现简单的echarts在线编辑器
用Vue实现简单的echarts在线编辑器 简述 思路 效果图 页面分布 main.js的配置 其中ace编辑器的配置 按钮功能 实现思路 具体实现 图表初始化 图表组件传给父组件option配置对象 ...
- 使用matlab建立个人简历,HTML 使用表格制作简单的个人简历
复习一下HTML,用表格做一个简单的个人简历 .btbg{ text-align:center; } 个人简历 姓名 性别 出生日期 照片 民族 政治面貌 婚姻状况 现所在地 籍贯 学历 毕业学校 专 ...
- html根据字段制作曲线图,canvas制作简单的HTML图表,折线或者矩形统计(原创)
插件描述:canvas制作简单的HTML图表,折线或者矩形统计 使用canvas制作简单的HTML图表,折线或者矩形统计. 使用canvas制作简单的HTML图表,折线或者矩形统计,简单而实用.图形由 ...
- phalcon: eventManager事件管理(结合dispatcher调度控制器)制作简单的acl
制作简单的acl, dispatcher(专门用来加载或调度或跳转到相应的url地址即XXXcontroller的调度器或控制器,能够在controller执行前对controller进行停止跳转等) ...
- php简单网页制作代码,用HTML和CSS以及JS制作简单的网页菜单界面的代码
这篇文章主要介绍了使用HTML+CSS+JS制作简单的网页菜单界面,这个ABROAD项目所使用的JavaScript部分代码非常简单,需要的朋友可以参考下 写ABROAD项目用到了标签这个东东,其实标 ...
- d3.js-V3制作简单的飞线图
d3.js制作简单的飞线图 简介 期末的一个小作业,放上来分享一下.若有不懂的地方欢迎在评论区提问~ 最终效果图: 使用工具 d3.js (V3版本) 步骤简介 准备好数据. 绘制一个中国地图. 绘制 ...
- 电脑PHP动画制作画板,html5教程制作简单画板代码分享
HTML5制作简单画板 复制代码代码如下: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">> ...
- 电脑PHP动画制作画板,HTML_html5教程制作简单画板代码分享,HTML5制作简单画板
复制代码代 - phpStudy...
html5教程制作简单画板代码分享 HTML5制作简单画板 复制代码代码如下: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min ...
最新文章
- 终于!这个强大的「开源图像识别系统」上线了!
- HOG特征向量的代码 源代码改
- C++类class和结构体struct区别
- 谈谈设计模式的几个原则
- 关于错误Resource interpreted as Script but transferred with MIME type text_html
- 7-2 旅行售货员 (10 分)(TSP问题思路加详解)
- c语言位运算+乘法,关于c语言中的位运算。。。
- 正式开始liunx学习之旅
- 三星 SGH-G810 多普达 P800 多普达 Touch Diamond(S900) 多普达 P860 多普达 Touch(T3238) 对比...
- Pytorch:RuntimeError: DataLoader worker (pid 27) is killed by signal: Killed. Details are lost due
- [转载] python hex转字符串_Python hexstring-list-str之间的转换方法
- vb查询mysql数据库实例_初识vb数据库开发之实例5(数据查询)
- 城市大脑已经几岁?城市大脑发展成熟度的年龄评估模型
- 微信小程序 - 获取当前日期时间(函数封装)
- 解决VS2010使用mscomm控件无法接收数据的问题
- 戴尔R720系列服务器CPU升级,Dell 服务器R720的CPU列表
- c/c++ 程序CRASH的几种情况
- linux命名信号量,在进程之间使用POSIX信号量(命名信号量,Linux,C)
- w10服务器共享文件设置,w10怎么设置共享文件 w10设置共享文件的具体步骤[多图]...
- Emacs常用命令快速参考