プロップデータが変更されても、Vueコンポーネントは更新されたデータを表示しません

beingyogi

これは私の親コンポーネントです abc.vue

<v-card outlined class="mt-4">
        <DetailsTable v-show="toggleClientData" :columnDefs="columnDefs" :rowData="rowData" />
</v-card>
methods:{
aggridData() {
     let self = this;
      this.columnDefs = [
            {
              header:"name",
              field:"name",
              editable: true,
              onCellValueChanged: function(params) {
               self.updateClient();
              }
             }
           ]
      this.rowData = [{name:"abc",age:21},{name:"xyz",age:23}];
    },
 updateClient(){
   this.rowData[0].name = "cat"
 }
}

これが私の子コンポーネントです DetailsTable.vue

<template>
  <ag-grid-vue
    style="width: 100%; height: 600px"
    class="ag-theme-balham"
    id="myGrid"
    :enableRangeSelection="true"
    :defaultColDef="{
              resizable: true,
              sortable: true,
              filter: true,
              width: 100
            }"
    :columnDefs="columnDefs"
    :processCellForClipboard="processCellForClipboard"
    :rowData="newRowData"
    :modules="[...agModule, ...agCModule]"
  ></ag-grid-vue>
</template>

<script>
import { AgGridVue } from "ag-grid-vue";
import "ag-grid-enterprise";
import { LicenseManager } from "ag-grid-enterprise";
import { AllModules } from "ag-grid-enterprise/dist/ag-grid-enterprise";
import { AllCommunityModules } from "ag-grid-community/dist/ag-grid-community";

LicenseManager.setLicenseKey(process.env.VUE_APP_AG_KEY);
import axios from "axios";

export default {
  name: "DetailsTable",
  props: {
    columnDefs: {
      type: Array,
      default() {
        return null;
      }
    },
    rowData: {
      type: Array,
      default() {
        return null;
      }
    }
  },
  components: {
    "ag-grid-vue": AgGridVue
  },
  data() {
    return {
      agModule: AllModules,
      agCModule: AllCommunityModules
    };
  },
  computed: {
    newRowData() {
      return this.rowData;
    }
  },
  beforeMount() {
    this.processCellForClipboard = params => {
      return `${params.value.trim()},`;
    };
  }
};
</script>

<style lang="sass" scoped>
@import "../../../node_modules/ag-grid-community/dist/styles/ag-grid.css"
@import "../../../node_modules/ag-grid-community/dist/styles/ag-theme-balham.css"
</style>

これで、最初にnewRowDataに、updateclientメソッドが呼び出される前のrowDataの値が含まれます。agグリッドテーブルから値が更新されると、更新クライアント関数が呼び出され、名前が変更されます。ここで、子コンポーネントのnewRowDataは、更新された名前、つまりcatを示していますが、これはテーブルでは更新されていません。表にはまだ「abc」が表示されています。次回agグリッドセルをクリックすると、更新された値が表示されます。セルを再度クリックせずに更新された値を表示する方法はありますか?上記の反応性をどのように達成する必要がありますか。

アダムオルロフ

アレイ全体を更新してみてください。

  updateClient(){
//  this.rowData[0].name = "cat"        delete this line

    const updatedRow = {...this.rowData[0], name: "cat"}
    this.rowData.splice(0, 1, updatedRow)
  }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ルートパラメータが変更されても、コンポーネントは新しいデータでリロードされません

分類Dev

Angular 2:データが別のコンポーネントで変更されても、クラスバインディングは更新されません

分類Dev

Vueコンポーネントは、親のmounted()によってコミットされたデータ変更を検出しません

分類Dev

データ変数を変更しても、計算されたプロパティは更新されません

分類Dev

Vue.JSはネストされたコンポーネントにデータを更新しません

分類Dev

オプションのパラメータを変更しても、コンポーネントがリロードされません

分類Dev

角度 2 サービスのデータを操作しても、2 番目のコンポーネントのデータは変更されません。

分類Dev

AngularJS:コンポーネントはHTTP経由でロードされたデータを表示しません

分類Dev

Django:動的データを含むビューからテンプレートをレンダリングした後、テンプレートは静的なままで、データがデータベースに追加されても変更されません

分類Dev

データソースが更新されてもコンボボックスオプションは変更されません

分類Dev

Vue.js-コンポーネントデータは更新されません

分類Dev

データが変更されても、検索パイプフィルターがテンプレートを更新しません

分類Dev

起動されたデータトリガーはカスタムコントロールのプロパティを変更していません(ControlTemplate)

分類Dev

Delphiコンポーネントコンパイラでイベントタイプを変更した後、エラーはスローされません

分類Dev

配列プロップが変更されても、Reactサブコンポーネントは再レンダリングされません

分類Dev

Vueネストデータ:親ノードが削除されても子コンポーネントは非表示になりません

分類Dev

herokuにデプロイした後、laravelアプリのvuejsコンポーネントとapp.scssへの変更は更新されません

分類Dev

Reactアプリで、Firebaseのコンポーネントデータを削除しましたが、状態を変更してもdomから削除されません

分類Dev

データが変更されても、Emberコンポーネントの計算関数は再実行されません

分類Dev

React Stateに変更しても、機能コンポーネントの表示は更新されません

分類Dev

マップされたネットワークディスク上の変更されたファイルまたは新しいファイルは、F5を更新した後でもエクスプローラーに表示されません

分類Dev

Reactコンポーネントプロップが変更されたときにデータをフェッチする方法は?

分類Dev

子コンポーネントから値を変更しても、Angular ParentComponentプロパティは更新されません

分類Dev

インポートされたコンポーネントのタイプエラーをフローがキャッチしていません

分類Dev

SSRS-レポートを再アップロードしてもデータソースは変更されません

分類Dev

Vue-ネストされたコンポーネントはデータを更新せず、再レンダリングしません

分類Dev

Vueプロップデータが子コンポーネントで更新されない

分類Dev

Webコンポーネントセットまたは変更されたデータプロパティを検出する方法

分類Dev

プロットチャートは、データが変更されたときに最後に新しいポイントをプロットします

Related 関連記事

  1. 1

    ルートパラメータが変更されても、コンポーネントは新しいデータでリロードされません

  2. 2

    Angular 2:データが別のコンポーネントで変更されても、クラスバインディングは更新されません

  3. 3

    Vueコンポーネントは、親のmounted()によってコミットされたデータ変更を検出しません

  4. 4

    データ変数を変更しても、計算されたプロパティは更新されません

  5. 5

    Vue.JSはネストされたコンポーネントにデータを更新しません

  6. 6

    オプションのパラメータを変更しても、コンポーネントがリロードされません

  7. 7

    角度 2 サービスのデータを操作しても、2 番目のコンポーネントのデータは変更されません。

  8. 8

    AngularJS:コンポーネントはHTTP経由でロードされたデータを表示しません

  9. 9

    Django:動的データを含むビューからテンプレートをレンダリングした後、テンプレートは静的なままで、データがデータベースに追加されても変更されません

  10. 10

    データソースが更新されてもコンボボックスオプションは変更されません

  11. 11

    Vue.js-コンポーネントデータは更新されません

  12. 12

    データが変更されても、検索パイプフィルターがテンプレートを更新しません

  13. 13

    起動されたデータトリガーはカスタムコントロールのプロパティを変更していません(ControlTemplate)

  14. 14

    Delphiコンポーネントコンパイラでイベントタイプを変更した後、エラーはスローされません

  15. 15

    配列プロップが変更されても、Reactサブコンポーネントは再レンダリングされません

  16. 16

    Vueネストデータ:親ノードが削除されても子コンポーネントは非表示になりません

  17. 17

    herokuにデプロイした後、laravelアプリのvuejsコンポーネントとapp.scssへの変更は更新されません

  18. 18

    Reactアプリで、Firebaseのコンポーネントデータを削除しましたが、状態を変更してもdomから削除されません

  19. 19

    データが変更されても、Emberコンポーネントの計算関数は再実行されません

  20. 20

    React Stateに変更しても、機能コンポーネントの表示は更新されません

  21. 21

    マップされたネットワークディスク上の変更されたファイルまたは新しいファイルは、F5を更新した後でもエクスプローラーに表示されません

  22. 22

    Reactコンポーネントプロップが変更されたときにデータをフェッチする方法は?

  23. 23

    子コンポーネントから値を変更しても、Angular ParentComponentプロパティは更新されません

  24. 24

    インポートされたコンポーネントのタイプエラーをフローがキャッチしていません

  25. 25

    SSRS-レポートを再アップロードしてもデータソースは変更されません

  26. 26

    Vue-ネストされたコンポーネントはデータを更新せず、再レンダリングしません

  27. 27

    Vueプロップデータが子コンポーネントで更新されない

  28. 28

    Webコンポーネントセットまたは変更されたデータプロパティを検出する方法

  29. 29

    プロットチャートは、データが変更されたときに最後に新しいポイントをプロットします

ホットタグ

アーカイブ