vue项目 onresize() 监听窗口实现echarts地图自适应

window.onresize() 监听窗口实现echarts地图自适应

项目需求变动,之前是做大屏的尺寸没考虑周全,echarts地图没有随大小变化而变化,现在要实现自适应只需要小改动即可。

修改前:

修改的代码:

        <div
          class="g-h100 g-w100"
          ref="map"
          style="position:relative;z-index: 1;">
        </div>
import 'echarts/lib/chart/map'
export default {
  name: "real",
  data() {
    return {
 
    }
  },
  created() {

  },
  mounted() {
    let self = this;
    //1
    self.creatMap();
    //一定要等结果渲染完才去监听窗口变化,所以放在mounted里
    window.onresize = (value) => {
      console.log(value, "value");
      //3
      //每次改变窗口调用一次resize()
      self.myMap.resize()
    }
  },
  methods: {
    creatMap() {
      let self = this
      //2
      //把echarts封装好的map存放再自定义myMap里
      self.myMap = echarts.init(self.$refs['map']);
      self.myMap.setOption(self.mapChartsOption);
      self.myMap.on("click", function (params) {
        console.log(params, "params");
      });
    },
}

修改后的效果 :不管窗口怎么变化都会自适应窗口

寄语:小知识积累,进步每一天,希望也能帮助和我遇到一样问题的朋友。 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2中,可以使用echarts来实现多个图表的自适应。以下是一个简单的示例: 1. 首先,安装echarts和vue-echarts插件: ```bash npm install echarts vue-echarts ``` 2. 在Vue组件中引入echarts和vue-echarts: ```javascript import echarts from 'echarts' import ECharts from 'vue-echarts/components/ECharts.vue' ``` 3. 在Vue组件中注册ECharts组件: ```javascript export default { components: { 'v-chart': ECharts }, data() { return { chartData: [ // 填充你的图表数据 ] } }, mounted() { window.addEventListener('resize', this.handleResize) }, beforeDestroy() { window.removeEventListener('resize', this.handleResize) }, methods: { handleResize() { this.$refs.chart.resize() } } } ``` 4. 在Vue模板中使用ECharts组件来渲染图表: ```html <template> <div> <v-chart ref="chart" :options="chartOptions"></v-chart> </div> </template> ``` 5. 在Vue组件的计算属性中定义图表的配置选项: ```javascript computed: { chartOptions() { return { // 填充你的图表配置选项 series: this.chartData } } } ``` 6. 最后,确保在窗口大小改变时调用`handleResize`方法来重新渲染图表: ```javascript mounted() { window.addEventListener('resize', this.handleResize) }, beforeDestroy() { window.removeEventListener('resize', this.handleResize) }, methods: { handleResize() { this.$refs.chart.resize() } } ``` 通过以上步骤,你可以在Vue2中实现多个echarts图表的自适应。你可以根据自己的需求,动态更新图表数据和配置选项。记得在窗口大小改变时重新渲染图表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值