Verwendung der Vue3-Tabellenkomponente

Verwendung der Vue3-Tabellenkomponente

1. Ant Design Vue

Wenn eine große Datenmenge angezeigt werden muss, stellen wir sie normalerweise in Form eines Berichts dar. Entsprechend unserer intuitiven Gewohnheit müssen wir table verwenden, um Zeilen- und Spaltendaten anzuzeigen.

Daher müssen wir table in der Ant Design Vue Komponentenbibliothek verwenden, um die Daten zu binden.

1. Offizielle Website-Adresse

Offizielle Website-Adresse: https://2x.antdv.com/components/table-cn#API

2. Wie zu verwenden

Zunächst haben wir die E-Book-Verwaltungsseite umgestaltet und das Layout angepasst.

Der Beispielcode lautet wie folgt:

<Vorlage>
  <a-layout Klasse="Layout">
    <a-Layout-Inhalt
        :style="{ Hintergrund: '#fff', Polsterung: '24px', min. Höhe: '280px' }">
      <div Klasse="Über">
        <h1>E-Book-Verwaltungsseite</h1>
      </div>
    </a-layout-inhalt>
  </a-layout>

 
</Vorlage>

Die Wirkung ist wie folgt:

3. E-Book-Tabelle anzeigen

Dinge die zu tun sind:

  • Tabellen-Rendering
  • slots : benutzerdefiniertes Rendering
  • title : Header-Rendering
  • customRender : Wert-Rendering

Der Beispielcode lautet wie folgt:

<Vorlage>
  <a-layout Klasse="Layout">
    <a-Layout-Inhalt
        :style="{ Hintergrund: '#fff', Polsterung: '24px', min. Höhe: '280px' }">
      <a-table :columns="Spalten"
               :Datenquelle="ebooks1"
               :pagination="Seitennummerierung"
               :wird geladen="wird geladen"
      >
        <template #cover="{ text: cover }">
          <img v-if="cover" :src="cover" alt="avatar"/>
        </Vorlage>
        <template #name="{ text: name }">
          <a>{{ text }}</a>
        </Vorlage>
        <Vorlage #benutzerdefinierterTitel>

      <span>
        <smile-outlined/>
        Name
      </span>
          </Vorlage>
          <template #action="{ Datensatz }">
      <span>
        <a-space Größe="klein">
            <a-button type="primary" @click="bearbeiten(Datensatz)">
              Bearbeiten</a-button>
             <a-button Typ="Gefahr">
                Löschen</a-button>
          </a-space>
      </span>
          </Vorlage>
      </a-Tabelle>
    </a-layout-inhalt>
  </a-layout>

</Vorlage>
<script lang="ts">
importiere {SmileOutlined, DownOutlined} aus '@ant-design/icons-vue';
importiere {defineComponent, onMounted, reactive, ref, toRef} aus „vue“;
importiere Axios von „Axios“;

exportiere StandarddefiniereKomponente({
  Name: 'AdminEbook',
  aufstellen() {
    const pagination = {
      beiÄnderung: (Seite: Nummer) => {
        console.log(Seite);
      },
      Seitengröße: 3,
    };

    const laden = ref(false);
    const Spalten = [
      {
        Titel: 'Cover',
        Datenindex: "Cover",
        Steckplätze: {customRender: 'cover'}
      },
      {
        Titel: 'Name',
        Datenindex: "Name"
      },
      {
        Titel: „Klassifikation 1“,
        Datenindex: "Kategorie1ID",
        Schlüssel: "category1Id",
      },
      {
        Titel: „Klassifikation 2“,
        Datenindex: "category2Id",
        Schlüssel: 'category2Id',
      },
      {
        Titel: 'Anzahl der Dokumente',
        Datenindex: „Dokumentenanzahl“
      },
      {
        Titel: 'Lesenummer',
        Datenindex: „Anzahl der Ansichten“
      },
      {
        Titel: 'Anzahl der Likes',
        Datenindex: "Stimmenanzahl"
      },
      {
        Titel: 'Aktion',
        Schlüssel: 'Aktion',
        Slots: {customRender: 'Aktion'}
      }
    ];
    //Verwenden Sie Ref zur Datenbindung const ebooks = ref();
    // Reaktive Datenbindung verwenden const ebooks1 = reactive({books: []})
    beimMounted(() => {
      axios.get("/ebook/list?name=").then(response => {
        const Daten = Antwort.Daten;
        ebooks.Wert = Daten.Inhalt;
        ebooks1.books = Daten.Inhalt;
      })
    })
    zurückkehren {
      Pagination,
      Laden,
      Säulen,
      ebooks1: E-Books,
      ebooks2: toRef(ebooks1, "Bücher")
    }
  },
  Komponenten:
    LächelnUmrissen,
    UntenUmrissen,
  },
});
</Skript>
<Stilbereich>
img {
  Breite: 50px;
  Höhe: 50px;
}
</Stil>

Tatsächliche Wirkung:

2. Fazit

Wenn Sie mit der Verwendung von table nicht vertraut sind, müssen Sie es weiter versuchen. Vereinfacht ausgedrückt handelt es sich dabei um die Zuordnung von Objekteigenschaften.

Im Allgemeinen ist es besser, die Daten vor der Anzeige der Seite zu binden. Wenn dies nicht ganz klar ist, lesen Sie bitte diesen Artikel „Details zur Datenanzeige der Vue3-Listenschnittstelle“.

Dies ist das Ende dieses Artikels über die Verwendung von Vue3-Tabellenkomponenten. Weitere relevante Inhalte zu Vue3-Tabellenkomponenten finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So kapseln Sie die Tabellenkomponente von Vue Element
  • Detailliertes Beispiel für die Kapselung der Tabellenkomponente von Vue Element
  • vxe-table Vue-Tabelle Tabellenkomponentenfunktion
  • Vue.js implementiert ein Funktionsbeispiel für eine sortierbare Tabellenkomponente
  • Detailliertes Beispiel zur Implementierung einer einfachen Tabellenkomponente in Vue
  • Vue feste Kopfzeile feste Spalte Klicktabellenkopfzeile sortierbare Tabellenkomponente
  • Detailliertes Beispiel für die Entwicklung einer Vue.js-Tabellenkomponente
  • Vue + elementui realisiert Mehrfachauswahl- und Suchfunktionen der Dropdown-Tabelle
  • Die Tabelle in vue+Element ist editierbar (Dropdown-Feld auswählen)
  • Vue implementiert Dropdown-Tabellenkomponente

<<:  Zusammenfassung der schnellen Spaltenaddition bei MySQL 8.0 Online DDL

>>:  So stellen Sie MongoDB-Container mit Docker bereit

Artikel empfehlen

Front-End-Statusverwaltung (Teil 1)

Inhaltsverzeichnis 1. Was ist Front-End-Statusver...

CSS löst das Problem der Front-End-Bildverformung perfekt

Ich habe in der Toutiao IT School einen Artikel g...

Rsync+crontab regelmäßige Synchronisierungssicherung unter centos7

In letzter Zeit möchte ich regelmäßig wichtige in...

Detaillierte Erläuterung der Methode zum Vergleichen von Daten in MySQL

Wenn es eine Tabelle mit einem Feld „add_time“ gi...

JavaScript implementiert eine bidirektionale verknüpfte Listenprozessanalyse

Inhaltsverzeichnis 1. Was ist eine doppelt verknü...

Erfahren Sie mehr über den MySQL-Ausführungsplan

Inhaltsverzeichnis 1. Einführung in den Implement...

Vuex implementiert einfache Warenkorbfunktion

In diesem Artikelbeispiel wird der spezifische Co...