Vue要素ツリーコントロールに点線を追加する詳細な説明

Vue要素ツリーコントロールに点線を追加する詳細な説明

1. 成果を達成する

レンダリング

2. 実装コード

ツリーコントロールへの点線の追加は主にCSSの制御によって実現され、ツリーコントロールのインデント数は0のみであるため、class="mytree"とします。

   <div class="mytree">
          <!--インデントは 0 のみにできます-->
          <el-tree
              :data="ツリーデータ"
              :props="デフォルトプロパティ"
              @node-click="ハンドルNodeClick"
              インデント="0"
              :render-content="レンダリングコンテンツ"
          </el-tree>
   </div>

CSSは次のコードに設定され、スタイル浸透のために::v-deep使用されています。

<style lang="scss" スコープ>
::v-deep .mytree {
  .el-tree > .el-tree-node:after {
    上境界線: なし;
  }
  .el-tree-node {
    位置: 相対的;
    左パディング: 16px;
  }
  //ノード間に隙間があるので、展開ボタンを非表示にします。隙間が問題ないと思われる場合は削除できます。el-tree-node__expand-icon.is-leaf{
    表示: なし;
  }
  .el-tree-node__children {
    左パディング: 16px;
  }
  .el-tree-node :最後の子:前 {
    高さ: 38px;
  }
  .el-tree > .el-tree-node:before {
    左境界線: なし;
  }
  .el-tree > .el-tree-node:after {
    上境界線: なし;
  }
  .el-tree-node:before {
    コンテンツ: "";
    左: -4px;
    位置: 絶対;
    右: 自動;
    境界線の幅: 1px;
  }
  .el-tree-node:after {
    コンテンツ: "";
    左: -4px;
    位置: 絶対;
    右: 自動;
    境界線の幅: 1px;
  }
  .el-tree-node:before {
    左境界線: 1px 破線 #4386c6;
    下: 0px;
    高さ: 100%;
    上: -26px;
    幅: 1px;
  }
  .el-tree-node:after {
    上境界線: 1px 破線 #4386c6;
    高さ: 20px;
    上: 12px;
    幅: 24px;
  }
}
</スタイル>

3. その他の実装

Vueは要素ツリーコントロールを通じてツリーテーブルを実装します

Element-uiはツリーコントロールノードにアイコンを追加する機能を実装します

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueは要素ツリーコントロールを通じてツリーテーブルを実装します
  • Vue Element-ui テーブルはツリー構造テーブルを実現します
  • Vue コンポーネント ライブラリ ElementUI はテーブル読み込みツリー データのチュートリアルを実装します
  • Vue+element UI でツリーテーブルを実現
  • Vue+Element UI ツリー コントロールはドロップダウン機能メニュー (ツリー + ドロップダウン + 入力) を統合します。
  • Vue Element-ui はツリーコントロールノードを実装し、アイコンを追加します。詳細な説明

<<:  HTML で特定のテキストを非表示にするにはどうすればよいでしょうか?

>>:  DockerでPrometheusをインストールする詳細なチュートリアル

推薦する

forループ内のvarの問題の解決

序文var は ES5 における変数宣言方法です。var で変数を宣言するとループ変数がグローバル変...

単一選択折りたたみメニュー機能を実現するCSS

前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...

サーバーの購入と初期構築方法

しばらくサーバーいじってなかったけど、やることがなくなったのでモバイルワークスに行って海外サーバーを...

Angularの親子コンポーネント通信の詳細な説明

目次使用されるAPI簡単な例人.ts親コンポーネントサブコンポーネント効果要約する使用されるAPI ...

PostgreSQL マテリアライズドビュープロセス分析

この記事は主にPostgreSQLマテリアライズドビューのプロセス分析について紹介します。サンプルコ...

JSはストップウォッチタイマーを実装します

この記事の例では、ストップウォッチタイマーを実装するためのJSの具体的なコードを参考までに共有してい...

960 グリッドシステムの基本原理と使用法

もちろん、CSS はフレームワークを必要とするほど高度ではないと考えて、反対の意見を持つ人もたくさん...

MySQL が暗黙のデフォルト値を処理する方法

何人かの学生は、マスターとスレーブの間の不一致の問題に遭遇したと述べました。一般的な状況としては、m...

クエリプロファイラを使用して MySQL ステートメントの実行時間を表示する方法

前回の記事では、MySQL ステートメントの実行時間をチェックする 2 つの方法を紹介しました。今日...

プロセスごとにネットワーク帯域幅を監視する Linux ツール Nethogs のインストールと展開

概要Linux 用のオープン ソース ネットワーク監視ツールは数多くあります。たとえば、帯域幅の使用...

Unicode の一般的な文字の概要

初期のコンピューターのほとんどは ASCII 文字しか使用できませんでしたが、その後、主要な西洋のア...

Tomcat でのコネクタ構成

JBoss は Tomcat を Web コンテナとして使用するため、JBoss の Web コンテ...

Nodejs モジュール システムのソースコード分析

目次概要CommonJS 仕様Node の CommonJS 仕様の実装モジュールのエクスポートとイ...

Linux で文字列を整理するためのヒント

Linuxの操作では、ファイル内の文字列を置換したりカウントしたりすることが多いです。ここでまとめを...