Heim Web-Frontend View.js So implementieren Sie bearbeitbare Tabellen in Vue

So implementieren Sie bearbeitbare Tabellen in Vue

Nov 08, 2023 pm 12:51 PM
视图 数据 绑定

So implementieren Sie bearbeitbare Tabellen in Vue

In vielen Webanwendungen sind Tabellen ein wesentlicher Bestandteil. Tabellen enthalten normalerweise große Datenmengen, daher erfordern Tabellen einige spezifische Funktionen, um die Benutzererfahrung zu verbessern. Eine der wichtigen Funktionen ist die Bearbeitbarkeit. In diesem Artikel untersuchen wir, wie bearbeitbare Tabellen mit Vue.js implementiert werden, und stellen spezifische Codebeispiele bereit.

Schritt 1: Daten vorbereiten

Zuerst müssen wir die Daten für die Tabelle vorbereiten. Wir können ein JSON-Objekt verwenden, um die Daten der Tabelle zu speichern und sie in der Dateneigenschaft der Vue-Instanz zu speichern. In diesem Beispiel erstellen wir eine einfache Tabelle mit drei Spalten: Name, Menge und Preis. Hier sind die Beispieldaten, die wir verwenden werden:

data: {
  items: [
    { name: 'Item 1', quantity: 1, price: 10 },
    { name: 'Item 2', quantity: 2, price: 20 },
    { name: 'Item 3', quantity: 3, price: 30 }
  ]
}
Nach dem Login kopieren

Schritt 2: Erstellen Sie die Tabellenkomponente

Wir verwenden die Vue.js-Komponente, um die Tabelle zu erstellen. Einer der Vorteile der Verwendung von Komponenten besteht darin, dass sie innerhalb einer Vue-Anwendung wiederverwendet und mehrfach verwendet werden können. Hier ist die Grundstruktur der Tabellenkomponente, die wir erstellen werden:

<template>
  <table>
    <thead>
      <tr>
        <th>Name</th>
        <th>Quantity</th>
        <th>Price</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="item in items">
        <td>{{ item.name }}</td>
        <td>{{ item.quantity }}</td>
        <td>{{ item.price }}</td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  name: 'TableComponent',
  props: {
    items: {
      type: Array,
      required: true
    }
  }
}
</script>
Nach dem Login kopieren

Die Komponente hat einen Namen namens „TableComponent“ und verwendet das Props-Attribut, um unsere vorherige Datensammlung als Eigenschaften zu erhalten. Die v-for-Direktive wird zum Rendern von Zeilen in einer Tabelle verwendet. Diese Anweisung durchläuft jedes Objekt im Array items und erstellt die entsprechende Zeile. v-for指令用于渲染表格中的行。该指令循环遍历items数组中的每个对象并创建对应的行。

步骤3:启用编辑

现在,我们已经可以在应用程序中显示表格了。下一步是使表格可编辑。为了实现这一点,我们将添加一个“编辑”按钮。用户单击该按钮后,将启用相应单元格的编辑功能。

以下是我们将在表格中添加的编辑按钮的基本代码:

<template>
  <!---  添加按钮  -->
  <table>
    <!---  前面的表头和tbody就不再赘述  -->
    <tfoot>
      <tr>
        <td colspan="3">
          <button @click="addRow">Add Row</button>
        </td>
      </tr>
    </tfoot>
  </table>
</template>

<script>
export default {
  name: 'TableComponent',
  props: {
    items: {
      type: Array,
      required: true
    }
  },
  methods: {
    addRow() {
      this.items.push({
        name: '',
        quantity: 0,
        price: 0
      })
    }
  }
}
</script>
Nach dem Login kopieren

我们添加了一个按钮,当用户单击该按钮时,将调用addRow方法。该方法将向items数组添加一个新项目对象,初始值为空字符串、0和0。

步骤4:启用单元格编辑

现在,我们已经有了添加新行的功能。下一步是启用单元格编辑功能。一旦用户单击编辑按钮,我们将使相关单元格变为可编辑状态。

我们将使用以下代码来启用单元格编辑功能:

<template>
  <table>
    <!---  前面的表头、tbody和tfoot  -->

    <tbody>
      <tr v-for="(item, index) in items" :key="index">
        <td :contenteditable="item.editable" @dblclick="toggleCellEdit(index, 'name')">{{ item.name }}</td>
        <td :contenteditable="item.editable" @dblclick="toggleCellEdit(index, 'quantity')">{{ item.quantity }}</td>
        <td :contenteditable="item.editable" @dblclick="toggleCellEdit(index, 'price')">{{ item.price }}</td>
        <td>
          <button @click="toggleRowEdit(index)">Edit</button>
        </td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  name: 'TableComponent',
  props: {
    items: {
      type: Array,
      required: true
    }
  },
  methods: {
    addRow() {
      // 添加新行
    },
    toggleRowEdit(index) {
      let item = this.items[index]
      item.editable = !item.editable
    },
    toggleCellEdit(index, key) {
      let item = this.items[index]
      if (item.editable) {
        return
      }
      item.editable = true
      let el = this.$refs['cell-' + index + '-' + key]
      let oldVal = el.innerText
      el.innerHTML = '<input type="text" value="' + oldVal + '" @blur="cellEditDone(' + index + ', '' + key + '', $event)">'
      el.focus()

    },
    cellEditDone(index, key, event) {
      let item = this.items[index]
      item.editable = false
      item[key] = event.target.value
    }
  }
}
</script>
Nach dem Login kopieren

我们将添加一个顶级属性“editable”,以跟踪表格行和单元格的编辑状态。在默认情况下,editable设置为false。

使用toggleRowEdit方法,我们可以在单击编辑按钮时切换行的状态。如果行当前是非编订状态,函数将行的editable值设置为true,并在单元格中添加一个文本框,以使编辑状态启动。在此状态下,如果单击其他单元格,我们将使用toggleCellEdit方法来切换单元格的状态。

该方法将原始文本替换为包含文本框的HTML元素,并将其聚焦到文本框中。在输入完成后,将调用单元格编辑完成方法cellEditDone

Schritt 3: Bearbeitung aktivieren

Jetzt können wir die Tabelle in der Anwendung anzeigen. Der nächste Schritt besteht darin, die Tabelle bearbeitbar zu machen. Um dies zu erreichen, werden wir eine Schaltfläche „Bearbeiten“ hinzufügen. Wenn der Benutzer auf die Schaltfläche klickt, wird die Bearbeitungsfunktion der entsprechenden Zelle aktiviert.

Hier ist der grundlegende Code für die Schaltfläche „Bearbeiten“, die wir der Tabelle hinzufügen werden:

<template>
  <div>
    <table-component :items="items" />
  </div>
</template>

<script>
import TableComponent from './TableComponent.vue'

export default {
  name: 'App',
  components: {
    TableComponent
  },
  data: {
    items: [
      { name: 'Item 1', quantity: 1, price: 10 },
      { name: 'Item 2', quantity: 2, price: 20 },
      { name: 'Item 3', quantity: 3, price: 30 }
    ]
  }
}
</script>
Nach dem Login kopieren
Wir haben eine Schaltfläche hinzugefügt und wenn der Benutzer auf die Schaltfläche klickt, wird die Methode addRow aufgerufen. Diese Methode fügt dem Array items ein neues Elementobjekt hinzu, wobei die Anfangswerte die leere Zeichenfolge 0 und 0 sind.

Schritt 4: Zellenbearbeitung aktivieren

Jetzt haben wir die Möglichkeit, neue Zeilen hinzuzufügen. Der nächste Schritt besteht darin, die Zellenbearbeitung zu aktivieren. Sobald der Benutzer auf die Schaltfläche „Bearbeiten“ klickt, machen wir die entsprechende Zelle bearbeitbar. 🎜🎜Wir werden den folgenden Code verwenden, um die Zellenbearbeitung zu ermöglichen: 🎜rrreee🎜Wir werden ein Top-Level-Attribut „editable“ hinzufügen, um den Bearbeitungsstatus von Tabellenzeilen und -zellen zu verfolgen. Standardmäßig ist editierbar auf „false“ gesetzt. 🎜🎜Mit der Methode toggleRowEdit können wir den Status der Zeile umschalten, wenn auf die Schaltfläche „Bearbeiten“ geklickt wird. Wenn die Zeile derzeit unbearbeitet ist, setzt die Funktion den bearbeitbaren Wert der Zeile auf „True“ und fügt der Zelle ein Textfeld hinzu, um den Bearbeitungsstatus zu aktivieren. Wenn wir in diesem Zustand auf eine andere Zelle klicken, verwenden wir die Methode toggleCellEdit, um den Zustand der Zelle umzuschalten. 🎜🎜Diese Methode ersetzt den Originaltext durch das HTML-Element, das das Textfeld enthält, und fokussiert ihn im Textfeld. Nachdem die Eingabe abgeschlossen ist, wird die Zellbearbeitungsabschlussmethode cellEditDone aufgerufen, um den Wert in der Datensammlung zu aktualisieren und den Bearbeitungsstatus zu schließen. 🎜🎜Schritt 5: Führen Sie die App aus🎜🎜Wir sind bereit, die App auszuführen und das bearbeitbare Formular zu testen. Hier ist ein grundlegender Vue.js-Kontext, der zum Rendern und Testen unserer bearbeitbaren Tabellenkomponente verwendet wird: 🎜rrreee🎜 Wir übergeben ihn an die Tabellenkomponente, wenn wir sie mithilfe der Item-Eigenschaft initialisieren. Dadurch kann die Komponenteninstanz auf unser Datenobjekt zugreifen und es in der Tabelle rendern. Die Funktionalität zum Hinzufügen neuer Zeilen und Bearbeiten vorhandener Zeilen funktioniert einwandfrei. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel haben wir gelernt, wie man mit Vue.js eine bearbeitbare Tabelle erstellt. Wir haben gelernt, wie man Vue-Komponenten zum Organisieren von Tabellen verwendet, wie man die Bearbeitbarkeit ermöglicht und wie man Eingaben verarbeitet und in unserer Datensammlung speichert. Wir haben vollständige Codebeispiele bereitgestellt, damit Sie sie bequem verwenden und testen können. Mithilfe der in diesem Artikel beschriebenen Techniken können Sie schnell und einfach voll funktionsfähige und hochgradig anpassbare Formulare erstellen, um die Benutzererfahrung Ihrer Webanwendung zu verbessern. 🎜

Das obige ist der detaillierte Inhalt vonSo implementieren Sie bearbeitbare Tabellen in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwenden Sie ddrescue, um Daten unter Linux wiederherzustellen Verwenden Sie ddrescue, um Daten unter Linux wiederherzustellen Mar 20, 2024 pm 01:37 PM

DDREASE ist ein Tool zum Wiederherstellen von Daten von Datei- oder Blockgeräten wie Festplatten, SSDs, RAM-Disks, CDs, DVDs und USB-Speichergeräten. Es kopiert Daten von einem Blockgerät auf ein anderes, wobei beschädigte Blöcke zurückbleiben und nur gute Blöcke verschoben werden. ddreasue ist ein leistungsstarkes Wiederherstellungstool, das vollständig automatisiert ist, da es während der Wiederherstellungsvorgänge keine Unterbrechungen erfordert. Darüber hinaus kann es dank der ddasue-Map-Datei jederzeit gestoppt und fortgesetzt werden. Weitere wichtige Funktionen von DDREASE sind: Es überschreibt die wiederhergestellten Daten nicht, füllt aber die Lücken im Falle einer iterativen Wiederherstellung. Es kann jedoch gekürzt werden, wenn das Tool explizit dazu aufgefordert wird. Stellen Sie Daten aus mehreren Dateien oder Blöcken in einer einzigen wieder her

Open Source! Jenseits von ZoeDepth! DepthFM: Schnelle und genaue monokulare Tiefenschätzung! Open Source! Jenseits von ZoeDepth! DepthFM: Schnelle und genaue monokulare Tiefenschätzung! Apr 03, 2024 pm 12:04 PM

0.Was bewirkt dieser Artikel? Wir schlagen DepthFM vor: ein vielseitiges und schnelles generatives monokulares Tiefenschätzungsmodell auf dem neuesten Stand der Technik. Zusätzlich zu herkömmlichen Tiefenschätzungsaufgaben demonstriert DepthFM auch hochmoderne Fähigkeiten bei nachgelagerten Aufgaben wie dem Tiefen-Inpainting. DepthFM ist effizient und kann Tiefenkarten innerhalb weniger Inferenzschritte synthetisieren. Lassen Sie uns diese Arbeit gemeinsam lesen ~ 1. Titel der Papierinformationen: DepthFM: FastMonocularDepthEstimationwithFlowMatching Autor: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Google ist begeistert: JAX-Leistung übertrifft Pytorch und TensorFlow! Es könnte die schnellste Wahl für das GPU-Inferenztraining werden Google ist begeistert: JAX-Leistung übertrifft Pytorch und TensorFlow! Es könnte die schnellste Wahl für das GPU-Inferenztraining werden Apr 01, 2024 pm 07:46 PM

Die von Google geförderte Leistung von JAX hat in jüngsten Benchmark-Tests die von Pytorch und TensorFlow übertroffen und belegt bei 7 Indikatoren den ersten Platz. Und der Test wurde nicht auf der TPU mit der besten JAX-Leistung durchgeführt. Obwohl unter Entwicklern Pytorch immer noch beliebter ist als Tensorflow. Aber in Zukunft werden möglicherweise mehr große Modelle auf Basis der JAX-Plattform trainiert und ausgeführt. Modelle Kürzlich hat das Keras-Team drei Backends (TensorFlow, JAX, PyTorch) mit der nativen PyTorch-Implementierung und Keras2 mit TensorFlow verglichen. Zunächst wählen sie eine Reihe von Mainstream-Inhalten aus

Langsame Internetgeschwindigkeiten für Mobilfunkdaten auf dem iPhone: Korrekturen Langsame Internetgeschwindigkeiten für Mobilfunkdaten auf dem iPhone: Korrekturen May 03, 2024 pm 09:01 PM

Stehen Sie vor einer Verzögerung oder einer langsamen mobilen Datenverbindung auf dem iPhone? Normalerweise hängt die Stärke des Mobilfunk-Internets auf Ihrem Telefon von mehreren Faktoren ab, wie z. B. der Region, dem Mobilfunknetztyp, dem Roaming-Typ usw. Es gibt einige Dinge, die Sie tun können, um eine schnellere und zuverlässigere Mobilfunk-Internetverbindung zu erhalten. Fix 1 – Neustart des iPhone erzwingen Manchmal werden durch einen erzwungenen Neustart Ihres Geräts viele Dinge zurückgesetzt, einschließlich der Mobilfunkverbindung. Schritt 1 – Drücken Sie einfach einmal die Lauter-Taste und lassen Sie sie los. Drücken Sie anschließend die Leiser-Taste und lassen Sie sie wieder los. Schritt 2 – Der nächste Teil des Prozesses besteht darin, die Taste auf der rechten Seite gedrückt zu halten. Lassen Sie das iPhone den Neustart abschließen. Aktivieren Sie Mobilfunkdaten und überprüfen Sie die Netzwerkgeschwindigkeit. Überprüfen Sie es erneut. Fix 2 – Datenmodus ändern 5G bietet zwar bessere Netzwerkgeschwindigkeiten, funktioniert jedoch besser, wenn das Signal schwächer ist

Die Vitalität der Superintelligenz erwacht! Aber mit der Einführung der sich selbst aktualisierenden KI müssen sich Mütter keine Sorgen mehr über Datenengpässe machen Die Vitalität der Superintelligenz erwacht! Aber mit der Einführung der sich selbst aktualisierenden KI müssen sich Mütter keine Sorgen mehr über Datenengpässe machen Apr 29, 2024 pm 06:55 PM

Ich weine zu Tode. Die Daten im Internet reichen überhaupt nicht aus. Das Trainingsmodell sieht aus wie „Die Tribute von Panem“, und KI-Forscher auf der ganzen Welt machen sich Gedanken darüber, wie sie diese datenhungrigen Esser ernähren sollen. Dieses Problem tritt insbesondere bei multimodalen Aufgaben auf. Zu einer Zeit, als sie ratlos waren, nutzte ein Start-up-Team der Abteilung der Renmin-Universität von China sein eigenes neues Modell, um als erstes in China einen „modellgenerierten Datenfeed selbst“ in die Realität umzusetzen. Darüber hinaus handelt es sich um einen zweigleisigen Ansatz auf der Verständnisseite und der Generierungsseite. Beide Seiten können hochwertige, multimodale neue Daten generieren und Datenrückmeldungen an das Modell selbst liefern. Was ist ein Modell? Awaker 1.0, ein großes multimodales Modell, das gerade im Zhongguancun-Forum erschienen ist. Wer ist das Team? Sophon-Motor. Gegründet von Gao Yizhao, einem Doktoranden an der Hillhouse School of Artificial Intelligence der Renmin University.

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung können Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptowährungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

Die U.S. Air Force präsentiert ihren ersten KI-Kampfjet mit großem Aufsehen! Der Minister führte die Testfahrt persönlich durch, ohne in den gesamten Prozess einzugreifen, und 100.000 Codezeilen wurden 21 Mal getestet. Die U.S. Air Force präsentiert ihren ersten KI-Kampfjet mit großem Aufsehen! Der Minister führte die Testfahrt persönlich durch, ohne in den gesamten Prozess einzugreifen, und 100.000 Codezeilen wurden 21 Mal getestet. May 07, 2024 pm 05:00 PM

Kürzlich wurde die Militärwelt von der Nachricht überwältigt: US-Militärkampfflugzeuge können jetzt mithilfe von KI vollautomatische Luftkämpfe absolvieren. Ja, erst kürzlich wurde der KI-Kampfjet des US-Militärs zum ersten Mal der Öffentlichkeit zugänglich gemacht und sein Geheimnis gelüftet. Der vollständige Name dieses Jägers lautet „Variable Stability Simulator Test Aircraft“ (VISTA). Er wurde vom Minister der US-Luftwaffe persönlich geflogen, um einen Eins-gegen-eins-Luftkampf zu simulieren. Am 2. Mai startete US-Luftwaffenminister Frank Kendall mit einer X-62AVISTA auf der Edwards Air Force Base. Beachten Sie, dass während des einstündigen Fluges alle Flugaktionen autonom von der KI durchgeführt wurden! Kendall sagte: „In den letzten Jahrzehnten haben wir über das unbegrenzte Potenzial des autonomen Luft-Luft-Kampfes nachgedacht, aber es schien immer unerreichbar.“ Nun jedoch,

Der erste Roboter erscheint, der menschliche Aufgaben autonom erledigt, mit fünf flexiblen Fingern und übermenschlicher Geschwindigkeit, und große Modelle unterstützen das Training im virtuellen Raum Der erste Roboter erscheint, der menschliche Aufgaben autonom erledigt, mit fünf flexiblen Fingern und übermenschlicher Geschwindigkeit, und große Modelle unterstützen das Training im virtuellen Raum Mar 11, 2024 pm 12:10 PM

Diese Woche gab FigureAI, ein Robotikunternehmen, an dem OpenAI, Microsoft, Bezos und Nvidia beteiligt sind, bekannt, dass es fast 700 Millionen US-Dollar an Finanzmitteln erhalten hat und plant, im nächsten Jahr einen humanoiden Roboter zu entwickeln, der selbstständig gehen kann. Und Teslas Optimus Prime hat immer wieder gute Nachrichten erhalten. Niemand zweifelt daran, dass dieses Jahr das Jahr sein wird, in dem humanoide Roboter explodieren. SanctuaryAI, ein in Kanada ansässiges Robotikunternehmen, hat kürzlich einen neuen humanoiden Roboter auf den Markt gebracht: Phoenix. Beamte behaupten, dass es viele Aufgaben autonom und mit der gleichen Geschwindigkeit wie Menschen erledigen kann. Pheonix, der weltweit erste Roboter, der Aufgaben autonom in menschlicher Geschwindigkeit erledigen kann, kann jedes Objekt sanft greifen, bewegen und elegant auf der linken und rechten Seite platzieren. Es kann Objekte autonom identifizieren

See all articles