Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

ネプ

# npm を使用する
npm インストール vue-tree-color

ローダーをインストールする

npm インストール --save-dev less less-loader

プラグインのインポート

'vue' から Vue をインポートします
'vue-tree-color' から Vue2OrgTree をインポートします
 
Vue.use(Vue2OrgTree)

始める

コンポーネントがインストールされているので、そのまま使用できます。Vueページでは、コンポーネントタグを直接使用してデータを動的にバインドします(データは再帰データでもかまいません)

<vue2-org-tree :data="データ"/>

データはページ内に配置される

データ data では、id は要素ごとに異なる ID、label は名前、children は独自のサブセット データです。

配置

先ほどはデフォルトの配置を見ましたが、水平配置もあります。

# 水平方向の <vue2-org-tree :data="data" :horizo​​ntal="true" /> を追加するだけです

効果は以下のとおりです

折りたたみディスプレイ

プロパティ折りたたみ可能を追加する

<vue2-org-tree :data="データ" :horizo​​ntal="true" 折りたたみ可能 /> 

どのように拡張するか?独自のメソッドを持つコンポーネントを追加する必要があります

拡大中

<vue2-org-tree :data="data" :horizo​​ntal="true" 折りたたみ可能 @on-expand="onExpand" />

js部分

メソッド: {
    折りたたむ(リスト) {
        var _this = これ
        list.forEach(関数(子) {
            if (child.expand) {
                子.展開 = false
            }
            child.children && _this.collapse(child.children)
        })
    },
    onExpand(e, データ) {
        if (データに 'expand' が含まれる) {
            データ.展開 = !データ.展開
            if (!data.expand && data.children) {
                this.collapse(データ.children)
            }
        } それ以外 {
            this.$set(データ、'expand'、true)
        }
    }
}

効果は以下のとおりです

ノードをクリック

on-node-clickメソッドを追加する

<vue2-org-tree :data="data" :horizo​​ntal="true" 折りたたみ可能 @on-expand="onExpand" @on-node-click="onNodeHandle" />

js

onNodeHandle(e, データ) {
    // eはノードデータです console.log(e)
    // データはノードにレンダリングされたデータです console.log(data)
},

結果を印刷する

その他の機能

このコンポーネントは他の機能も提供しており、おそらく最もよく使用されるのはノードの色の設定、インとアウトの移動などです。githubのアドレスを貼り付けておきますので、興味のある方は自分で学んでください。

コンポーネントのその他の機能を見るには、以下のリンクをクリックしてください。

https://github.com/hukaibaihu/vue-org-tree#readme

Vueのvue-tree-colorコンポーネントの組織構造図を実装した事例の詳細説明については、これで終了です。Vueのvue-tree-colorコンポーネントの組織構造図を実装する関連コンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vueのツリーコンポーネントを実装する方法
  • VueはTreeselect選択の変更操作を監視します
  • Vue elementui ツリーの任意のレベルのドラッグ機能コード
  • Vue+Element UI ツリー コントロールはドロップダウン機能メニュー (ツリー + ドロップダウン + 入力) を統合します。
  • Vue Treeselect ツリー ドロップダウン ボックス: 選択したノードの ID とラベルを取得します。
  • vue el-treeはデフォルトで最初のノードの実装コードを展開します

<<:  MySQL スケジュールバックアップタスクの簡単な分析

>>:  Linux の cut コマンドの説明

推薦する

Baidu サイト検索が https をサポートしていない問題の解決策 (テスト済み)

最近、携帯電話で https が有効になりました。緑色のロックを取得するには、次の問題を解決する必要...

Tencent Cloud Serverの構築方法を説明します(グラフィックチュートリアル)

この記事は元々ブロガーのWeiwei Miaoによって書かれたものです。ブログホームページ: htt...

JavaScript による Web ページ カルーセルの超詳細な実装

目次HTML ページの作成js部分の機能を実装する1. 左ボタンと右ボタン2. 小さな円を動的に生成...

リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース

1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...

MySQLにおける分散ロックの考え方をDBの助けを借りて詳しく説明します

序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...

HTML テーブルタグチュートリアル (11): 水平方向の配置属性 ALIGN

水平方向では、テーブルの配置を左、中央、右に設定できます。基本的な構文<テーブル配置=&quo...

MySQL はパスワード強度の検証をオフにします

パスワード強度検証について: [root@mysql mysql]# mysql -uroot -p...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

TomcatはNginxリバースプロキシのクライアントドメイン名を取得します

質問Nginx リバース プロキシの後、Tomcat アプリケーションは、クライアント ブラウザーの...

VMware のインストールと使用時の問題と解決策

仮想マシンは使用中であるか、接続できません次のようなエラーが報告された場合解決まずこのページにアクセ...

MySQL 起動エラーを解決する: エラー 2003 (HY000): 'localhost' の MySQL サーバーに接続できません (10061)

このエラーは初心者によく発生します。この記事では主に、エラー 2003 (HY000): '...

Nodeはバックエンドの実装手順を素早く構築します

1. まず、node、express、express-generator をインストールします (4...

Vue エクスポート Excel 機能の全プロセス記録

目次1. フロントエンドのリーディングプロセス: 2. プラグインの使用と初期化2.1 vue-ad...

React Hooksコンポーネント間で値を渡す方法の詳細な説明(tsを使用)

目次父から息子へ息子から父へクロスレベルコンポーネント(親から子孫)父から息子へpropsを通じて値...

MySQLデータベース操作の基本コマンド

1. データベースを作成します。 データ data _name を作成します。 PHP でデータベー...