Heim Web-Frontend js-Tutorial Zusammenfassung der Wissenspunkte der Vue+Element-Baumkomponente (Tree Control Data Format).

Zusammenfassung der Wissenspunkte der Vue+Element-Baumkomponente (Tree Control Data Format).

Sep 14, 2018 pm 02:50 PM
html html5 javascript

Was dieser Artikel Ihnen bringt, ist eine Zusammenfassung der Wissenspunkte über die Vue+Element-Baumkomponente (Baumkontrolldatenformat). Ich hoffe, dass er für Freunde in Not hilfreich ist du hilfst.

Ich habe kürzlich die erste Komponente erstellt, die in der Gruppe verwendet werden kann. Obwohl es die einfachste Version ist, war es auch sehr aufwändig. Senioren haben mir geholfen, das Problem zu lösen, und ich habe es geschafft, es zu erledigen. Lassen Sie mich den Schreibprozess dieser Baumkomponente und die dabei verwendeten Wissenspunkte aufzeichnen.

Lassen Sie uns zunächst über die Anforderungen sprechen, nämlich auf ein Popup-Fenster + eine Maske. Der Inhalt des Popup-Fensters ist natürlich eine Baumkomponente Legen Sie im Popup-Fenster fest, ob das standardmäßig ausgewählte Mehrfachauswahlfeld angezeigt und Knoten nach Schlüsselwörtern gefiltert werden sollen ( Element ist im Lieferumfang enthalten). Mehrere häufig verwendete Funktionen wurden versiegelt und werden später hinzugefügt, wenn sie für andere Zwecke verwendet werden Zwecke. Alles gelöst)

Heute werden wir zuerst das Problem der Datenverarbeitung aufzeichnen

Nach der Kommunikation mit dem Backend haben wir erfahren, dass wir solche Daten über die Schnittstelle erhalten:

[
            { id: '01', label: '测试活动', pId: '1' },
            { id: '011', label: '测试活动1', pId: '01' },
            { id: '012', label: '测试活动2', pId: '01' },
            { id: '02', label: '测试活动3', pId: '1' },
            { id: '021', label: '测试活动4', pId: '02' },
            { id: '022', label: '测试活动5', pId: '02' },
            { id: '0221', label: '测试活动6', pId: '022' },
            { id: '0222', label: '测试活动7', pId: '022' },
            { id: '0223', label: '测试活动6', pId: '022' },
            { id: '0224', label: '测试活动7', pId: '022' },
            { id: '0225', label: '测试活动6', pId: '022' },
            { id: '0226', label: '测试活动7', pId: '022' },
        ]
Nach dem Login kopieren

Und wir überprüfen das Element Das Dokument wird sehen, dass das Datenformat, in dem Sie ihr Plug-in verwenden möchten, so ist

    [{
        id: 4,
        label: '二级 1-1',
        children: [{
          id: 9,
          label: '三级 1-1-1'
        }, {
          id: 10,
          label: '三级 1-1-2'
        }]
      }]
    }, {
      id: 2,
      label: '一级 2',
      children: [{
        id: 5,
        label: '二级 2-1'
      }, {
        id: 6,
        label: '二级 2-2'
      }]
    }, {
      id: 3,
      label: '一级 3',
      children: [{
        id: 7,
        label: '二级 3-1'
      }, {
        id: 8,
        label: '二级 3-2'
      }]
    }]
Nach dem Login kopieren

Dann müssen wir zuerst den JS-Code schreiben

// Schleifen Sie den übergeordneten Knoten aus

export function toTreeData(data,id,pid,name) {
// 建立个树形结构,需要定义个最顶层的父节点,pId是1
    let parent = [];
    for (let i = 0; i < data.length; i++) {

        if(data[i][pid] !== "1"){
        }else{
          let obj = {
            label: data[i][name],
            id: data[i][id],
            children: []
          };
          parent.push(obj);//数组加数组值
        }
        // console.log(obj);
        //  console.log(parent,"bnm");

    }
    children(parent);

// 调用子节点方法,参数为父节点的数组
function children(parent) {
console.log(parent)
      if (data.length !== 0) {
        for (let i = 0; i < parent.length; i++) {
          for (let j = 0; j < data.length; j++) {
            if (parent[i].id == data[j][pid]){
              let obj = {
                label: data[j][name],
                id: data[j][id],
                children: []
              };
              parent[i].children.push(obj);
            }
          }
          children(parent[i].children);
        }
      }
    }
    console.log(parent,"bjil")
    return parent;
  }
  toTreeData(this.data,"id","pid","label")//这样调用就好使了
Nach dem Login kopieren

Die vier mit der obigen Funktion verbundenen Werte sind alle Daten-ID, der Feldname der ID, PID, der Feldname der übergeordneten Klassen-ID und der Feldname des Inhalts (da das übergebene Feld nicht unbedingt ID oder PID-Beschriftung heißt und daher flexibel ist)

  toTreeData(this.data,"id","pid","label")//这样调用就好使了
  //这个回调函数作用当然是转换数组的格式
Nach dem Login kopieren

Wenn diese Funktion alleine ohne Rückruf herausgenommen wird, besteht ihre Funktion darin, dass Sie sie übergeben Ein Array, das aus übergeordneten Elementen besteht, und die direkten untergeordneten Elemente jedes übergeordneten Elements werden in das untergeordnete Feld des übergeordneten Elements verschoben, sodass wir nur das Array der neu generierten untergeordneten Elemente als übergeordnetes Elementarray behandeln müssen Beim nächsten Aufruf wird diese Funktion weiter vertieft

Verwandte Empfehlungen:

PHP unendliche Klassifizierungsbaumdatenformatierung

Zusammenfassung der YiiFramework-Wissenspunkte für Einsteiger (grafisches Tutorial), YiiFramework-Wissenspunkte

Das obige ist der detaillierte Inhalt vonZusammenfassung der Wissenspunkte der Vue+Element-Baumkomponente (Tree Control Data Format).. 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
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate 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)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles