电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

vue tab切換,解決echartst圖表寬度只有100px的問題

瀏覽:2日期:2023-01-03 17:58:03

解決思路:直接將圖表的寬高寫死,根據實際代碼進行改寫,提供一個思路

1.將圖表放進一個div里面

<div class='echarts'> <div :style='{width: ’100%’, height: ’150px’}'></div></div>

2.定義一個方法,并在mounted視圖更新的時候執行

<script>export default { mounted() { this.setMyChart(); }, methods: { setMyChart() { // jq寫法 // 獲取父元素 var echarts = $(’.echarts’); // 獲取父元素寬高 var echartsWidth = echarts.outerWidth(true); var echartsHeight = echarts.outerHeight(true); // 獲取圖表元素 var myChart = $(’#myChart’); // 將父元素寬高賦值給圖表 myChart.css(’width’, myChart); myChart.css(’height’, myChart); // 原生js寫法 // 獲取父元素 // var echarts = document.querySelector(’.echarts’); // 獲取父元素寬高 // var echartsWidth = getStyle(echarts,’width’); // var echartsHeight = getStyle(echarts,’height’); // 獲取圖表元素 // var myChart = document.querySelector(’#myChart’); // 將父元素寬高賦值給圖表 // myChart.style.width = echartsWidth; // myChart.style.height = echartsHeight; // 這是一個封裝好的方法,兼容IE,第一個參數,element, 第二個屬性,css樣式 // function getStyle(obj, attr) { // if (obj.currentStyle) { // return obj.currentStyle[attr]; // } else { // return document.defaultView.getComputedStyle(obj,null)[attr]; // } // } } }};</script>

3.樣式

<style scoped>.echarts { width:300px; height:150px;} </style>

如果本篇文章對你有幫助的話,很高興能夠幫助上你。

補充知識:vue項目tab切換echart圖表切換寬度縮小和圖表內容不正確解決

代碼:

布局:

<TabButton :btnValue1='’總數’' :btnValue2='’明細’' @watchFlag='handler'></TabButton> <div class='it_content'> <div ref='work' v-show='flag===false'></div> <div ref='workTotal' v-show='flag===true'></div> </div>

處理函數:

handler(flag){ this.flag=flag; if(!this.flag){ this.$nextTick(() => { this.drawwork(); // 明細圖 }); }else{ this.$nextTick(() => { this.drawworkTotal(); // 總數圖 }); } },

1、解決寬度縮小的問題

本來是用vue指令的v-if,但是發現用v-if出現寬度縮小的問題。后來改用v-show。這是因為v-if指令是將Dom元素去除掉位置空間了,v-show是將Dom元素位置空間保留了,但并沒有進行渲染。v-show保留所定義的樣式,空間位置也被保留,echarts圖表的寬高依舊和之前一樣,所以不會縮小。

2、圖表內容不正確

利用this.$nextTick(() => {})。Vue 實現響應式并不是數據發生變化之后 DOM 立即變化,而是按一定的策略進行 DOM 的更新。 $nextTick 是在下次 DOM 更新循環結束之后執行延遲回調,在修改數據之后使用 $nextTick,則可以在回調中獲取更新后的 DOM。flag發生變化之后,Dom沒有立即更新了,通過 $nextTick 回調函數,執行echarts的繪畫。

nextTick的由來:

由于VUE的數據驅動視圖更新,是異步的,即修改數據的當下,視圖不會立刻更新,而是等同一事件循環中的所有數據變化完成之后,再統一進行視圖更新。

nextTick的觸發時機:

在同一事件循環中的數據變化后,DOM完成更新,立即執行nextTick(callback)內的回調。

結合nextTick的由來,可以推出每個事件循環中,nextTick觸發的時機:

同一事件循環中的代碼執行完畢 -> DOM 更新 -> nextTick callback觸發

應用場景:

需要在視圖更新之后,基于新的視圖進行操作。

以上這篇vue tab切換,解決echartst圖表寬度只有100px的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 顶空进样器-吹扫捕集仪-热脱附仪-二次热解吸仪-北京华盛谱信仪器 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 | 818手游网_提供当下热门APP手游_最新手机游戏下载 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司| 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | 识禅_对禅的了解,从这里开始| 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 西门子代理商_西门子变频器总代理-翰粤百科 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 破碎机锤头_耐磨锤头_合金锤头-鼎成机械一站式耐磨铸件定制服务 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | POS机办理_个人POS机免费领取 - 银联POS机申请首页 | 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 实体店商新零售|微赢|波后|波后合作|微赢集团| 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 |