鍍金池/ 問答/HTML/ elementUI中的Table組件tableData數(shù)據(jù)變化后,表格不會重新渲

elementUI中的Table組件tableData數(shù)據(jù)變化后,表格不會重新渲染怎么辦

需要實現(xiàn)多語言,點擊切換語言按鈕后,表格數(shù)據(jù)也實時變化

請求后臺時獲取的數(shù)據(jù)中就包含英文名稱和中文名稱,

根據(jù)目前前臺所保存的語言類型,判斷給tabledate賦英文名稱還是中文名稱;

切換語言時,tabledate的值可以能做到改變,但是table組件中的值并沒有發(fā)生變化,這是為什么;

下面是我的代碼,謝謝各位

<el-table border :data="tableData">
    <el-table-column prop="gameName"  :label="$t('gameName')"></el-table-column>
</el-table>


queryGameApi(this.category, this.sportType, this.status, this.gameCode).then(response => {
      this.responseData = response.data
    })

computed: {
  tableData: {
    get() {
      console.log(this.responseData)
      let data=this.responseData
      for(let i in data) {
        if(this.lang=='zh'){
          data[i].gameName=data[i].gameNameCn
        }else{
          data[i].gameName=data[i].gameNameEn
        }
      }
      console.log(data)
      return data
    },
    // setter
    set() {

    }
  }
}
回答
編輯回答
還吻

將data[i].gameName=data[i].gameNameCn改為this.$set(data[i],gameName,data[i].gameNameCn),因為數(shù)組直接賦值不能被 Object.defineProperty 檢測到,
深入理解vue中的$set

2017年12月13日 23:58