1. 程式人生 > 其它 >vue-element-template使用echart折線圖碰到的問題

vue-element-template使用echart折線圖碰到的問題

首先參考vue-element-admin中的自適應寬度:
把mixin資料夾複製到你的資料夾目錄

import resize from './mixins/resize'

//在props里加上這個
autoResize: {
   type: Boolean,
   default: true
},

另外還需要在@/src/utils/index.js中新增防抖函式,從admin複製下就好了,template中沒有。

/** 防抖函式
 * @param {Function} func
 * @param {number} wait
 * @param {boolean} immediate
 * @return {*}
 */
export function debounce(func, wait, immediate) {
  let timeout, args, context, timestamp, result

  const later = function() {
    // 據上一次觸發時間間隔
    const last = +new Date() - timestamp

    // 上次被包裝函式被呼叫時間間隔 last 小於設定時間間隔 wait
    if (last < wait && last > 0) {
      timeout = setTimeout(later, wait - last)
    } else {
      timeout = null
      // 如果設定為immediate===true,因為開始邊界已經呼叫過了此處無需呼叫
      if (!immediate) {
        result = func.apply(context, args)
        if (!timeout) context = args = null
      }
    }
  }

  return function(...args) {
    context = this
    timestamp = +new Date()
    const callNow = immediate && !timeout
    // 如果延時不存在,重新設定延時
    if (!timeout) timeout = setTimeout(later, wait)
    if (callNow) {
      result = func.apply(context, args)
      context = args = null
    }

    return result
  }
}

至此echart的影象在頁面能自適應寬度了