当前位置: 首页 > news >正文

成都络迈品牌网站建设二级网站域名

成都络迈品牌网站建设,二级网站域名,外贸网站域名用境内还是境外,巢湖网站建设电话需求#xff1a; 左右结构的div#xff0c;可以根据数据抬起按下进行拉伸修改容器宽度的操作给左右结构某一图表设置拉伸自适应左右结构都设置个最小宽度#xff0c;只能到一定区域内拉伸解决echarts的bug#xff08;重复加载chart实例#xff09;#xff1a;[ECharts] …需求 左右结构的div可以根据数据抬起按下进行拉伸修改容器宽度的操作给左右结构某一图表设置拉伸自适应左右结构都设置个最小宽度只能到一定区域内拉伸解决echarts的bug重复加载chart实例[ECharts] There is a chart instance already initialized on the dom.解决浏览器兼容性报错问题 5.解决echarts在flex布局下宽高不显示问题 1.效果 2.左右结构布局 左右布局给定一个基础的宽度并且给最小宽度min-width如果不给最小宽度那么拉伸的时候会拉到底到时候其他元素挤压或者是隐藏了就不太好 templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/div!-- echarts图标区 --div idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /templatescript export default {data() {return {isResizing: false,containerWidth: 600,leftWidth: 300,rightWidth: 400};},mounted() {},methods: {} }; /scriptstyle langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;background-color: #ddd;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {background-color: #d3e2d1;flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style效果如下 3.拉伸效果实现 首先下载echarts不用多说下载最新版就行 npm install echarts -S 2.局部导入和全局导入根据自己的需求来 局部导入在需要用到的页面导入即可为了各位看的更明白我用的是局部导入的方式 import * as echarts from echarts; 全局导入在main.js文件导入挂载 import echarts from echarts; Vue.prototype.$echarts echarts; 全局导入后在页面使用 this.$echarts.方法名 3.在中间灰色区域添加个鼠标按下事件 templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter mousedownonMouseDown/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/div!-- echarts图标区 --div idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /templatescript export default {data() {return {isResizing: false,containerWidth: 600,leftWidth: 200,rightWidth: 400};},mounted() {},methods: {onMouseDown() {// 鼠标按下时开始拖动this.isResizing true;// 监听鼠标移动事件document.addEventListener(mousemove, this.onMouseMove);// 监听鼠标松开事件document.addEventListener(mouseup, this.onMouseUp);},onMouseMove(event) {if (this.isResizing) {// 计算鼠标在容器中的位置const containerRect this.$el.getBoundingClientRect();const mouseX event.clientX - containerRect.left;// 更新左侧和右侧容器的宽度this.leftWidth mouseX;this.rightWidth this.containerWidth - mouseX;}},onMouseUp() {// 鼠标松开时停止拖动this.isResizing false;// 移除监听鼠标移动和松开事件document.removeEventListener(mousemove, this.onMouseMove);document.removeEventListener(mouseup, this.onMouseUp);}} }; /scriptstyle langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;background-color: #ddd;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {background-color: #d3e2d1;flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style效果 3.添加echarts图表 如果是按照以前的办法不能实现自适应的哈只能说把图标显示出来了但是在拉伸的时候折线图不能自适应。 解决echarts的bug重复加载chart实例关键代码如下 if (//判断是否存在echarts实例化对象,如果存在则销毁this.chartsDom ! null this.chartsDom ! this.chartsDom ! undefined) {this.chartsDom.dispose();} templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter mousedownonMouseDown/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/div!-- echarts图标区 --div idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /templatescript import * as echarts from echarts; export default {data() {return {isResizing: false,containerWidth: 600,leftWidth: 200,rightWidth: 400};},mounted() {this.echartsDom();},methods: {echartsDom() {// 基于准备好的dom初始化echarts实例this.$nextTick(_ {if (//判断是否存在echarts实例化对象,如果存在则销毁this.chartsDom ! null this.chartsDom ! this.chartsDom ! undefined) {this.chartsDom.dispose();}const dom document.getElementById(myChat);dom.style.width dom.parentNode.parentNode.clientWidth px;this.chartsDom echarts.init(dom); //创建echarts实例化对象this.chartsDom.clear(); //清空画布数据//设置对应的参数,标题,x轴,y轴坐标,以及显示的数据let options {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: line,smooth: true}]};this.chartsDom.setOption(options);this.chartsDom.resize();setTimeout(function() {window.addEventListener(resize, () {this.chartsDom.resize();});}, 200);});},onMouseDown() {// 鼠标按下时开始拖动this.isResizing true;// 监听鼠标移动事件document.addEventListener(mousemove, this.onMouseMove);// 监听鼠标松开事件document.addEventListener(mouseup, this.onMouseUp);},onMouseMove(event) {if (this.isResizing) {// 计算鼠标在容器中的位置const containerRect this.$el.getBoundingClientRect();const mouseX event.clientX - containerRect.left;// 更新左侧和右侧容器的宽度this.leftWidth mouseX;this.rightWidth this.containerWidth - mouseX;}},onMouseUp() {// 鼠标松开时停止拖动this.isResizing false;// 移除监听鼠标移动和松开事件document.removeEventListener(mousemove, this.onMouseMove);document.removeEventListener(mouseup, this.onMouseUp);}} }; /scriptstyle langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;background-color: #ddd;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {background-color: #d3e2d1;flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style效果 4.解决echarts图表没有根据拉伸自适应问题完整代码 1.下载element-resize-detector npm install element-resize-detector -S2.局部导入 var elementResizeDetectorMaker require(element-resize-detector); 3.完整代码如下 templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter mousedownonMouseDown/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/divdiv idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /template script //elementResizeDetectorMaker该全局函数是使元素调整大小检测器实例的maker函数。 var elementResizeDetectorMaker require(element-resize-detector); import * as echarts from echarts; export default {name: Index,data() {return {isResizing: false,containerWidth: 600,leftWidth: 200,rightWidth: 400,chartsDom: null};},mounted() {this.changeEchartsWidthApi();},methods: {//监听盒子大小,改变echarts宽度,实现echarts自适应changeEchartsWidthApi() {// 创建实例无参数var erd elementResizeDetectorMaker(); //使用默认选项将使用基于对象的方法// 创建实例带参数// 使用基于超快速滚动的方法。// 这是推荐的策略。var erdUltraFast elementResizeDetectorMaker({strategy: scroll,callOnAdd: true, //callOnAdd选项用于确定在添加侦听器时是否应调用它们。默认为true。//如果为true则确保在添加侦听器后将对其进行调用。如果为false则在添加侦听器时将不保证其//被调用不会阻止其被调用debug: true});//监听class为staticNextMain的元素 大小变化var self this;//侦听元素的调整大小事件并使用元素作为调整大小事件的参数来调用侦听器函数。传递给函数的选项将//覆盖实例选项erd.listenTo(document.getElementById(echartsWarp), function(element) {self.ChartsApi();});},ChartsApi() {// 基于准备好的dom初始化echarts实例this.$nextTick(_ {if (//判断是否存在echarts实例化对象,如果存在则销毁this.chartsDom ! null this.chartsDom ! this.chartsDom ! undefined) {this.chartsDom.dispose();}const dom document.getElementById(myChat);dom.style.width dom.parentNode.parentNode.clientWidth px;this.chartsDom echarts.init(dom); //创建echarts实例化对象this.chartsDom.clear(); //清空画布数据//设置对应的参数,标题,x轴,y轴坐标,以及显示的数据let options{xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: line,smooth: true}]}this.chartsDom.setOption(options);this.chartsDom.resize();setTimeout(function() {window.addEventListener(resize, () {this.chartsDom.resize();});}, 200);});},onMouseDown() {// 鼠标按下时开始拖动this.isResizing true;// 监听鼠标移动事件document.addEventListener(mousemove, this.onMouseMove);// 监听鼠标松开事件document.addEventListener(mouseup, this.onMouseUp);},onMouseMove(event) {if (this.isResizing) {// 计算鼠标在容器中的位置const containerRect this.$el.getBoundingClientRect();const mouseX event.clientX - containerRect.left;// 更新左侧和右侧容器的宽度this.leftWidth mouseX;this.rightWidth this.containerWidth - mouseX;}},onMouseUp() {// 鼠标松开时停止拖动this.isResizing false;// 移除监听鼠标移动和松开事件document.removeEventListener(mousemove, this.onMouseMove);document.removeEventListener(mouseup, this.onMouseUp);}} }; /script style langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style文章到此结束希望对你有所帮助~
http://www.hkea.cn/news/14482028/

相关文章:

  • 肇庆做网站哪家好灵山招聘网灵山英才网做灵山专业的招聘网站
  • 海南网站建设监理wordpress阿里云配置文件
  • 中国正规现货交易平台win7优化大师
  • 山西太原网站建设公司WordPress下级
  • 百度站长工具app如何申请免费空间
  • 一级域名和二级域名做两个网站阿里云网站建设程序
  • 提高网站的权重的最佳方法界面设计学校培训
  • 泉州市城乡和住房建设网站怎么做充值网站
  • 高端网站设计工作室服务器如何建设多个网站
  • 国外网站做问卷中小企业网站建设策划
  • 信阳哪里做网站网络架构需求
  • 接私活做预算的网站站酷官网
  • 在本地用dedecms做好的网站如何上传到服务器?免费下载app软件网站
  • 游戏平台网站微信如何分享wordpress
  • 广州个人网站备案要多久如何制作企业网站的版式
  • 做网站哪里有中国企业网官网登录入口
  • 免费外国网站浏览器班级网页制作模板
  • 门户网站如何建设响应式网站做seo
  • 18款禁用网站app入口建 网站 是软件开发
  • 为什么建行网站打不开计算机培训机构排名前十
  • 28网站建设沈阳网站制作网页
  • 兰溪高端网站建设公司公司网站需要备案么
  • wordpress下载站模板下载互联网保险理赔到底有多难
  • 如何提高网站设计能力关于化妆品网页设计的模板
  • 网站定制开发怎么做如何在网站做投票
  • 萍乡做网站的公司长沙网站优化厂家
  • 有什么网站可以免费看电影哪有做企业网站
  • 邯郸市做网站的公司广东建设网工程信息网站
  • 运行一个网站要多少钱网站提供什么服务
  • 温江网站建设网站怎么做超链接