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

Schritte zum Verpacken und Freigeben des Vue-Projekts

Inhaltsverzeichnis 1. Übergang von der Entwicklun...

JavaScript, um einen einheitlichen Animationseffekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

Der Unterschied zwischen redundanten und doppelten Indizes in MySQL

MySQL ermöglicht das Erstellen mehrerer Indizes f...

Der Unterschied zwischen HTML-Name-ID und Klasse_PowerNode Java Academy

Name Geben Sie einen Namen für das Tag an. Format...

Auszeichnungssprache - Stylesheets drucken

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Welcher Befehl eignet sich besser für die unscharfe Suche nach Dateien in Linux?

1. Einleitung In diesem Artikel wird hauptsächlic...

So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen

1. Fügen Sie den folgenden Code zu http{} in ngin...

PHP geplante Backup MySQL und mysqldump Syntax-Parameter detailliert

Lassen Sie uns zunächst einige gängige Anwendungs...

jQuery-Plugin zum Erzielen eines Karusselleffekts

Jeden Tag ein jQuery-Plugin - jQuery-Plugin zur I...

So erstellen Sie Ihren eigenen nativen JavaScript-Router

Inhaltsverzeichnis Vorwort Einführung JavaScript ...

Verständnis von Haslaylout- und BFC-Parsing

1. haslayout und bfc sind IE-spezifische und Stand...