echarts 自动适配宽度

韩昊杰
2024-04-03 / 0 评论 / 65 阅读 / 正在检测是否收录...

echarts 自动适配宽度

一.要有一个防抖函数

/**
 *  函数防抖
 *  @param {Function} func  包装的函数
 *  @param {num} delay      延迟时间
 *  @param {boolean} immediate 第一次滚动会执行两次  开始滚动和结束滚动的时候
 *  @return {*}
 */

export function debounce(func, delay, immediate = false) {
  let timer
  const context = this
  return (...args) => {
    if (immediate) {
      func.apply(context, args)
      immediate = false
      return
    }
    clearTimeout(timer)
    timer = setTimeout(() => {
      func.apply(context, args)
    }, delay)
  }
}

二.直接调用


chart.value = echarts.init(echart.value /* 'macarons' */)


onMounted(async() => {
  await nextTick()

  window.addEventListener('resize', resizeHandler)
})

onUnmounted(() => {
  if (!chart.value) {
    return
  }
  chart.value.dispose()
  chart.value = null
  window.removeEventListener('resize', resizeHandler)
})

const resizeHandler = debounce(() => {
  if (chart.value) {
    chart.value.resize()
  }
}, 200)

0

评论 (0)

取消