1. 程式人生 > 其它 >dataV的輪播圖表無法動態更新資料

dataV的輪播圖表無法動態更新資料

在使用dataV的輪播圖表無法動態更新資料,網上找了一些資料,最後還是在官網找到了解放方案。

http://datav.jiaminghi.com/guide/#%E7%94%A8%E5%89%8D%E5%BF%85%E7%9C%8B

狀態更新

避免你的元件更新了資料後,狀態卻不重新整理,也就是沒變化,請務必看這裡

元件props均未設定deep監聽,重新整理props時,請直接生成新的props物件(基礎資料型別除外),或完成賦值操作後使用ES6拓展運算子生成新的props物件(this.someProps = { ...this.someProps })。

<template>
  <div class="update-demo">
    <dv-percent-pond :config="config" style="width:200px;height:100px;" />
  </div>
</template>

<script>
export default {
  name: 'UpdateDemo',
  data () {
    return {
      config: {
        value: 66,
        lineDash: [10, 2]
      }
    }
  },
  methods: {
    // 更新資料的示例方法
    updateHandler () {
      const { config } = this

      /**
       * 只是這樣做是無效
       * config指向的記憶體地址沒有發生變化
       * 元件無法偵知資料變化
       */
      this.config.value = 90
      this.config.lineDash = [10, 4]

      /**
       * 使用ES6拓展運算子生成新的props物件
       * 元件偵知資料變化 自動重新整理狀態
       */
      this.config = { ...this.config }
    }
  }
}
</script>