Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie Vue und Element-UI zum Navigieren und Filtern von Daten

So verwenden Sie Vue und Element-UI zum Navigieren und Filtern von Daten

PHPz
PHPzOriginal
2023-07-21 18:39:191505Durchsuche

So verwenden Sie Vue und Element-UI zum Implementieren der Datennavigation und -filterung.

Navigation und Filterung sind eine der häufigsten Funktionen in Webanwendungen. Sie können es Benutzern erleichtern, die benötigten Informationen schnell zu finden. Mit der leistungsstarken Unterstützung von Vue und Element-UI können wir diese beiden Funktionen problemlos implementieren.

In diesem Artikel wird erläutert, wie Sie mit Vue und Element-UI Datennavigation und -filterung implementieren. Wir werden ein einfaches Studentenverwaltungssystem als Beispiel nehmen, um zu demonstrieren, wie eine Liste von Studenten in der Benutzeroberfläche angezeigt und durch Navigation und Filterung bedient wird.

Zuerst müssen wir einige Schülerdaten vorbereiten. In der Vue-Instanz können wir ein Array namens „students“ definieren, das Informationen über jeden Studenten enthält. Die Informationen jedes Schülers können Attribute wie ID, Name, Alter usw. umfassen.

Als nächstes müssen wir die Studentenliste auf der Benutzeroberfläche anzeigen. Um dies zu erreichen, können wir die von Element-UI bereitgestellte Tabellenkomponente verwenden. In der Vorlage der Vue-Instanz können wir das Tag el-table verwenden, um eine Tabelle zu erstellen und jede Spalte der Tabelle mithilfe des Tags el-table-column zu definieren. Wir können das Schüler-Array als Datenquelle der Tabelle verwenden und die ID, den Namen und das Alter jedes Schülers in verschiedenen Spalten der Tabelle anzeigen.

Auf der Grundlage der Anzeige der Schülerliste können wir eine Navigationsfunktion hinzufügen. Vue und Element-UI stellen Paginator-Komponenten bereit, die uns bei der Implementierung von Navigationsfunktionen helfen. Wir können das Tag el-pagination in der Vorlage verwenden, um einen Paginator zu erstellen, die Gesamtzahl der Datenelemente durch Festlegen des Attributs „total“ festzulegen und festzulegen, wie viele Datenelemente auf jeder Seite angezeigt werden, indem wir das Attribut „page-size“ festlegen. Wir können auch die Seitenzahl ermitteln, auf die der Benutzer auf den Paginator geklickt hat, indem wir das Current-Change-Ereignis abhören, und dann die angezeigten Daten aktualisieren, indem wir den Startindex und Endindex der Schülerliste in der Vue-Instanz neu berechnen.

Basierend auf der Navigationsfunktion können wir weitere Filterfunktionen hinzufügen. Vue und Element-UI bieten verschiedene Eingabekomponenten, die uns bei der Implementierung von Filterfunktionen helfen. Wir können das el-input-Tag in der Vorlage verwenden, um ein Eingabefeld zu erstellen und den Wert des Eingabefelds über die v-model-Direktive an eine Eigenschaft der Vue-Instanz zu binden. Anschließend können wir das berechnete Attribut in der Vue-Instanz verwenden, um die Liste der Schüler herauszufiltern, die die Bedingungen erfüllen, und sie in der angezeigten Tabelle als Datenquelle zu aktualisieren.

Das Folgende ist ein vollständiger Beispielcode:

<template>
  <div>
    <el-input v-model="searchValue" placeholder="请输入搜索关键字"></el-input>
    <el-table :data="filteredStudents" style="width: 100%">
      <el-table-column prop="id" label="学生ID"></el-table-column>
      <el-table-column prop="name" label="姓名"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
    </el-table>
    <el-pagination
      @current-change="handlePageChange"
      :total="students.length"
      :page-size="pageSize"
      layout="prev, pager, next"
    ></el-pagination>
  </div>
</template>

<script>
export default {
  data() {
    return {
      students: [
        { id: 1, name: '张三', age: 18 },
        { id: 2, name: '李四', age: 20 },
        { id: 3, name: '王五', age: 22 },
        // 更多学生数据...
      ],
      currentPage: 1,
      pageSize: 10,
      searchValue: ''
    };
  },
  computed: {
    filteredStudents() {
      let filtered = this.students;
      if (this.searchValue) {
        filtered = filtered.filter(student =>
          student.name.includes(this.searchValue)
        );
      }
      const startIndex = (this.currentPage - 1) * this.pageSize;
      const endIndex = startIndex + this.pageSize;
      return filtered.slice(startIndex, endIndex);
    }
  },
  methods: {
    handlePageChange(currentPage) {
      this.currentPage = currentPage;
    }
  }
};
</script>

Im obigen Beispielcode haben wir ein Attribut namens searchValue definiert, um die vom Benutzer eingegebenen Suchschlüsselwörter zu speichern, und die Kriterien basierend auf searchValue und currentPage über das berechnete Attribut filteredStudents herausgefiltert Liste der Studierenden erstellen und in einer Tabelle anzeigen.

Anhand dieses Beispiels können wir sehen, dass es sehr einfach ist, Vue und Element-UI zum Navigieren und Filtern von Daten zu verwenden. Mit nur wenigen Codezeilen können Sie Benutzern ein gutes interaktives Erlebnis bieten und ihnen helfen, schnell die benötigten Informationen zu finden. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Vue und Element-UI zum Navigieren und Filtern von Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn