この記事では、カスタムツリーコンポーネントを再帰的に実装する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)を取得するいくつかの方法の詳細な説明
通常、国喪の日、大地震の日、清明節には、ウェブサイト全体を灰色にして、故人への哀悼の意を表します。そ...
目次1. ESXiをインストールする2. ESXiをセットアップする3. ESXiを起動するESXi...
目次1. シナリオ2. 解決策3. 結論4. 参考文献1. シナリオ日常の開発およびテスト作業には ...
Vueベースこの機能の核となるアイデアは、JavaScript コードを通じてページ上のノードの左余...
目次ビジネス要件:解決策 1: vuex-persistedstate解決策2: vuex-pers...
プロセス1: 戻り値あり: proc_addNum が存在する場合はプロシージャを削除します。 プロ...
目次Vue ファースト スクリーン パフォーマンス最適化コンポーネント説明するインターセクションオブ...
パノラマビュー効果を見てみましょう: 住所を表示スクリーンショット: 体験してみると、周囲の環境がぐ...
1. docker imagesを使用して、このマシン上のすべてのイメージファイルを表示します。 2...
1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...
この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...
MySQL 複数の無関係なテーブルクエリデータとページング機能要件主キーと外部キーの関連付けがない ...
開発中、MySQL へのリモートアクセスでよく問題に遭遇します。そのたびに検索する必要があり、面倒に...
目次百万レベルのデータ処理ソリューションデータストレージ構造設計クエリステートメントの最適化1000...
Docker-compose は GitLab をデプロイします1. Dockerをインストールする...