Vue は、フロントエンド プロジェクトの開発に広く使用されている人気のある JavaScript フレームワークです。その中で、Vue のドキュメントには、テーブルの並べ替えや列の非表示など、多くの便利な関数とコード例が提供されています。 Vue を使用してフォーム アプリケーションを開発している場合、これらの機能によりユーザー エクスペリエンスと機能が大幅に向上する可能性があります。
この記事では、Vueドキュメントにおけるテーブルソート機能と列非表示機能の実装方法を紹介します。このトピックに関するいくつかの基本概念について説明し、サンプル コードを提供します。
1. テーブルの並べ替え
Vue のドキュメントには、テーブルの並べ替えを実装するためのコード例が含まれています。 Vue でテーブルの並べ替えを実装するには、データ、計算されたプロパティ、並べ替え関数という 3 つの重要な概念があります。
次のコードに示すように、テーブル データを格納するデータ オブジェクトが必要です。
data: { tableData: [ { name: 'John', age: 28, score: 85 }, { name: 'Jane', age: 24, score: 90 }, { name: 'Bob', age: 32, score: 76 }, { name: 'Barbara', age: 29, score: 92 }, ], sortKey: '', //现在排序的关键字 reverse: false //排序方式 }
次に、計算されたプロパティを使用して、既存のデータに基づいて並べ替える必要があります。計算プロパティは、データが変更されたときに DOM を自動的に更新できるようにする Vue の重要な概念です。
computed: { sortedTableData() { return this.tableData.sort((a, b) => { let modifier = 1; if (this.reverse) modifier = -1; if (a[this.sortKey] < b[this.sortKey]) return -1 * modifier; if (a[this.sortKey] > b[this.sortKey]) return 1 * modifier; return 0; }); } }
最後に、ヘッダーのクリック イベントを処理する関数を作成する必要があります。ユーザーがヘッダーをクリックすると、この関数が呼び出され、パラメーターとしてヘッダー名が渡されます。 sort 関数は、渡された値に基づいて sortKey とプロパティを反転し、計算されたプロパティの更新をトリガーします。
methods: { sort(key) { this.sortKey = key; this.reverse = !this.reverse; } }
最終的な HTML コードは次のとおりです:
<table> <thead> <tr> <th @click="sort('name')">Name</th> <th @click="sort('age')">Age</th> <th @click="sort('score')">Score</th> </tr> </thead> <tbody> <tr v-for="item in sortedTableData" :key="item.name"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.score }}</td> </tr> </tbody> </table>
2. 列の非表示
Vue ドキュメントのもう 1 つの便利な機能は、列の非表示です。テーブルに多くの列が含まれている場合は、どの列を表示するかをユーザーが制御できるようにしたい場合があります。
列の非表示を実装するには、データと計算プロパティという 2 つの重要な概念があります。
選択した列のステータスを保持するデータ オブジェクトが必要です。
data: { tableData: [ { name: 'John', age: 28, score: 85 }, { name: 'Jane', age: 24, score: 90 }, { name: 'Bob', age: 32, score: 76 }, { name: 'Barbara', age: 29, score: 92 }, ], selectedColumns: [] //已选中的列 }
各列を表示または非表示にする計算プロパティが必要です。計算されたプロパティは、選択された列の名前の配列を返します。 v-for ディレクティブを使用して、タグを動的に作成します。
computed: { visibleColumns() { return ['name', 'age', 'score'].filter(column => !this.selectedColumns.includes(column)); } }
最終的な HTML コードは次のとおりです:
<table> <thead> <tr> <th v-for="column in visibleColumns" :key="column">{{ column }}</th> </tr> </thead> <tbody> <tr v-for="item in tableData" :key="item.name"> <td v-if="!selectedColumns.includes('name')">{{ item.name }}</td> <td v-if="!selectedColumns.includes('age')">{{ item.age }}</td> <td v-if="!selectedColumns.includes('score')">{{ item.score }}</td> </tr> </tbody> </table>
3. 概要
上記は、Vue ドキュメントでのテーブルの並べ替えと列の非表示機能の実装方法の紹介です。 。これらの機能は、ユーザーにより優れたインタラクティブなエクスペリエンスを提供し、アプリケーションの機能を向上させます。これらの機能を実装するときは、計算されたプロパティとメソッドを必ず使用してデータと DOM を更新してください。これにより、アプリケーションは常に同期され、応答性が維持されます。
以上がVue ドキュメントにテーブルの並べ替えと列の非表示機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。