この記事では、カスタムツリーコンポーネントを再帰的に実装するVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 1. tree/index.vue 内: <テンプレート> <div> <ul> <item :model='データ'></item> </ul> </div> </テンプレート> <スクリプト> './item' からアイテムをインポートします エクスポートデフォルト{ コンポーネント:{ アイテム }, データ(){ 戻る { データ:{ タイトル:"レベル 1", 子供たち:[ { タイトル:"レベル 1-1", 子供たち:[ { タイトル:"レベル 3 1-1-1", 子供たち:[ { タイトル:「レベル4 1-1-1-1」、 子供たち:[ { タイトル:"レベル 5 1-1-1-1-1" } ] } ] } ] },{ タイトル:「レベル1-2」、 子供たち:[ { タイトル:「レベル3 1-2-1」 } ] } ] } } } } </スクリプト> 2. item.vue コンポーネント: <テンプレート> <li> <div @click="トグル"> {{モデル.タイトル}} <span v-if="isFolder">[{{open?'-':'+'}}]</span> </div> <ul v-show="開く" v-if="isFolder"> <item v-for="(child,index) in model.children" :model='child' :key='index'></item> </ul> </li> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前:'アイテム', 小道具:{ モデル:{ タイプ:オブジェクト、 必須:true } }, データ(){ 戻る { 開く:false } }, 計算:{ フォルダ(){ this.model.children を返す && this.model.children.length>0 } }, 方法:{ トグル(){ if (this.isFolder) this.open =!this.open } } } </スクリプト> 3. 任意のコンポーネントでの使用: <テンプレート> <div class="index"> <木></木> </div> </テンプレート> <スクリプト> 「@/components/tree」から Tree をインポートします。 コンポーネント:{ 木 } </スクリプト> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: LinuxスレッドのPID(TID、LWP)を取得するいくつかの方法の詳細な説明
特記事項:この記事は、Chris Spooner の英語記事「Web デザイン用の Retina グ...
この本「グラフィックデザイナーとして成長する」は多くの人が読んでおり、私もオリジナルの PDF 版を...
目次1. プロジェクト統合1. CDNインポート方法: 2. 箱の梱包を確認する3. 迅速な箱詰め4...
Linux システムのネットワーク接続を構成するのは難しい場合があります。幸いなことに、多くの新しい...
1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...
この記事の例では、ネイティブJSカプセル化vueタブ切り替えの具体的なコードを参考までに共有していま...
伝統的な方法は、正方形を固定形式で書くことです。長さ=幅を直接書き、次のように固定値を書きます。 。...
CentOS 8をインストールした後、ネットワークを再起動すると次のエラーが表示されますエラーメッセ...
1. 機能紹介sed (Stream EDitor) は、コンテンツを 1 行ずつ処理するストリーム...
この記事では、ショッピングカートを実装するためのJavaScriptの具体的なコードを参考までに紹介...
目次1. 基本タイプ2. オブジェクトタイプ2.1 配列2.2 タプル2.3 オブジェクト3. 型推...
VMware をインストールして新しい仮想マシンを作成したら、オプション バーの [編集] - [仮...
序文:最近、プロジェクトで管理システムに遭遇しました。権限設定が非常に興味深いと思いました。自分の学...
この記事では、例を使用して MySQL ビューの管理ビュー操作について説明します。ご参考までに、詳細...
最近Ubuntu 20.04をインストールしましたが、Wi-Fiに接続できず、Wi-Fiアイコンも表...