Beispielschritte zur Verwendung von AntV X6 mit Vue.js

Beispielschritte zur Verwendung von AntV X6 mit Vue.js

0x0 Einführung

Da das Projekt Flussdiagramme verwendet und die Anforderungen nicht detailliert sind, wird der flexiblere Grafikeditor x6 als Flussdiagrammeditor ausgewählt. Aus der Dokumentation geht hervor, dass es nicht kompliziert ist, daher handelt es sich nur um ein Referenz-Tutorial.

Antv X6 Dokumentation

0x1 Installation

Installieren Sie die x6-Abhängigkeit gemäß den Anweisungen im Tutorial und erstellen Sie dann einen neuen Container zur Instanziierung:

<div ref="containerRef" Klasse="Bereichszentrum-Container" />
const Daten = {
  // Knoten: [
    {
      id: 'node1', // String, optional, eindeutige Kennung des Knotens x: 40, // Zahl, erforderlich, x-Wert der Knotenposition y: 40, // Zahl, erforderlich, y-Wert der Knotenposition width: 80, // Zahl, optional, Breitenwert der Knotengröße height: 40, // Zahl, optional, Höhenwert der Knotengröße label: 'hello', // String, Knotenbezeichnung },
    {
      id: 'node2', // String, eindeutige Kennung des Knotens x: 160, // Zahl, erforderlich, x-Wert der Knotenposition y: 180, // Zahl, erforderlich, y-Wert der Knotenposition width: 80, // Zahl, optional, Breitenwert der Knotengröße height: 40, // Zahl, optional, Höhenwert der Knotengröße label: 'world', // String, Knotenbezeichnung },
  ],
  // Kanten: [
    {
      Quelle: 'node1', // String, erforderlich, Startknoten-ID
      Ziel: 'node2', // String, erforderlich, Zielknoten-ID
    },
  ],
}

Funktion initGraph() {
  const Graph = neuer Graph({
    Container: this.$refs.containerRef,
    Netz: {
      Größe: 10, // Rastergröße 10px
      sichtbar: true // Rendernetzhintergrund},
    Schnapplinie:
      aktiviert: true, // Ausrichtung scharf: true
    },
    Scroller:
      aktiviert: true,
      pageVisible: false,
      Seitenumbruch: false,
      schwenkbar: true
    }
  })
  //Zentrieren Sie die Leinwand graph.centerContent()

  graph.fromJSON(Daten)
}

Dies ist das einfachste Beispiel. Bitte beachten Sie die entsprechenden Erläuterungen in der Dokumentation zu den verschiedenen Parametern oben.

0x2 Knoten-Seitenleiste

Laut dem Stencil-Beispiel im Dokument lässt sich viel Code vereinfachen. Man kann das gekapselte Geschäft direkt verwenden. Dazu schreibt man einfach eine Container-Instanziierung wie oben:

<el-aside ref="stencilRef" Klasse="Bereich links" />
this.stencil = neue Schablone({
    Titel: 'Prozessknoten-Seitenleiste',
    Ziel: Graph,
    Suche: false,
    zusammenklappbar: wahr,
    stencilGraphWidth: this.$refs.stencilRef.$el.clientWidth,
    stencilGraphHeight: this.$refs.stencilRef.$el.clientHeight,
    Gruppen: [
        {
            Name: "Gruppe",
            Titel: 'Flussdiagrammknoten',
            zusammenklappbar: falsch
          }
        ],
    getDropNode: Knoten => {
        Lassen Sie cloneNode = node.clone()
        Schalter (Knoten.Form) {
            Fall 'Rechteck':
                cloneNode = neue Rechteckform()
                brechen
            Fall 'Kreis':
                cloneNode = neue Kreisform()
                brechen
            Fall 'Polygon':
                cloneNode = neue Polylinienform()
                brechen
        }
        cloneNode.updateInPorts(Grafik)
        KloneNode zurückgeben
    }
})
// Knoten laden this.stencil.load([new Rect(rectInfo), new Circle(circleInfo), new Polygon(polygonInfo)], 'group')

0x3 Integrationsbeispiel

Online: https://codesandbox.io/s/icy-meadow-rqihx

Oben sind die Einzelheiten der Beispielschritte zur Verwendung von Antv X6 mit Vue.js aufgeführt. Weitere Informationen zur Verwendung von Antv X6 mit Vue.js finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Verweisen Sie im Vue-Projekt auf Antv G2 und verwenden Sie das Kreisdiagramm als Beispiel
  • Beispielcode zur Verwendung von antv in Vue
  • Beispielcode zur Verwendung von G2-Diagrammen in Vue
  • Verwendung von AntV in vue2 mit g2plot als Beispiel

<<:  Upgrade der Docker-Version von MySQL 5.7 auf MySQL 8.0.13, Datenmigration

>>:  Informationen zur Installationsmethode für MySQL 8.0.13-ZIP-Pakete

Artikel empfehlen

CSS verwendet calc(), um die aktuell sichtbare Bildschirmhöhe zu ermitteln

Schauen wir uns zunächst die relativen Längeneinh...

So implementieren Sie Datenpersistenz mit dem Vuex-Drittanbieterpaket

Zweck: Ermöglichen Sie die gleichzeitige lokale S...

Implementierung eines Element-Eingabefelds, das automatisch den Fokus erhält

Beim Erstellen eines Formulars in einem aktuellen...

Sequentielles und zufälliges Schreiben auf Linux-Festplatten

1. Einleitung ● Zufälliges Schreiben führt dazu, ...

Einfaches Anwendungsbeispiel für eine rekursive Vue-Komponente

Vorwort Ich glaube, dass viele Studenten bereits ...

Analyse der zum Ausführen von Docker erforderlichen Berechtigungen

Zum Ausführen von Docker sind Root-Rechte erforde...

MySQL-Update-Fall Update-Feldwert ist keine feste Operation

Wenn bei der Verarbeitung von Batch-Updates besti...