ホームページ > ウェブフロントエンド > Vue.js > Vue ドキュメントにテーブルの並べ替えと列の非表示機能を実装する方法

Vue ドキュメントにテーブルの並べ替えと列の非表示機能を実装する方法

王林
リリース: 2023-06-20 18:50:19
オリジナル
1757 人が閲覧しました

Vue は、フロントエンド プロジェクトの開発に広く使用されている人気のある JavaScript フレームワークです。その中で、Vue のドキュメントには、テーブルの並べ替えや列の非表示など、多くの便利な関数とコード例が提供されています。 Vue を使用してフォーム アプリケーションを開発している場合、これらの機能によりユーザー エクスペリエンスと機能が大幅に向上する可能性があります。

この記事では、Vueドキュメントにおけるテーブルソート機能と列非表示機能の実装方法を紹介します。このトピックに関するいくつかの基本概念について説明し、サンプル コードを提供します。

1. テーブルの並べ替え

Vue のドキュメントには、テーブルの並べ替えを実装するためのコード例が含まれています。 Vue でテーブルの並べ替えを実装するには、データ、計算されたプロパティ、並べ替え関数という 3 つの重要な概念があります。

  1. データ

次のコードに示すように、テーブル データを格納するデータ オブジェクトが必要です。

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 //排序方式
}
ログイン後にコピー
  1. 計算されたプロパティ

次に、計算されたプロパティを使用して、既存のデータに基づいて並べ替える必要があります。計算プロパティは、データが変更されたときに 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;
    });
  }
}
ログイン後にコピー
  1. ソート関数

最後に、ヘッダーのクリック イベントを処理する関数を作成する必要があります。ユーザーがヘッダーをクリックすると、この関数が呼び出され、パラメーターとしてヘッダー名が渡されます。 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 つの重要な概念があります。

  1. データ

選択した列のステータスを保持するデータ オブジェクトが必要です。

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: [] //已选中的列
}
ログイン後にコピー
  1. 計算プロパティ

各列を表示または非表示にする計算プロパティが必要です。計算されたプロパティは、選択された列の名前の配列を返します。 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート