まず効果を見てみましょう: コード: 1.html <div class="userContent_content"> <div> <テーブル> <tr> <td>ノード名</td> <td>ノード管理 IP</td> <td>ノードログイン名</td> <td>ノードログインパスワード</td> </tr> // ng-container を空のタグとして使用して、レビュー要素に見つからない for または if イベントを配置できるようにします <ng-container *ngFor="let item of currentTotalList,let i = index"> <tr> <td style="color: #04AEB4;cursor: ポインター;" class="img"> <div> <div>{{item.name} </div> <div> // 以下は矢印の展開と折りたたみを切り替える矢印の画像です。現在のクリック インデックスがリスト インデックスと等しいかどうかを判断し、等しい場合は展開され、等しくない場合は折りたたまれます <img (click)="clickShowChildList(i,item.name)" [attr.src]="i == currentClickOpenIndex?'../../assets/resource/img/bottom.png':'../../assets/resource/img/right.png'"> </div> </div> </td> <td>{{item.ip} </td> <td>{{item.ユーザー名}}</td> <td>{{item.パスワード}}</td> </tr> // ng-container タグを再度使用して、テーブルの子項目をネストします <ng-container *ngFor="let childItem of item.nodeList, let j = index"> // for ループと if 判定は同じタグ内に共存できないため、隠しイベント if は tr タグ内に配置されます。現在クリックされているインデックスがリストのインデックスと一致しているかどうかを判定し、等しい場合は折りたたまれ、等しくない場合は表示されます。 <tr *ngIf="i == 現在のクリックオープンインデックス"> <td style="color: #04AEB4;cursor: ポインター;" class="img"> <div> <div> {{childItem.masterIp}} </div> </div> </td> <td>{{childItem.ip}}</td> <td>{{childItem.ユーザー名}}</td> <td>{{childItem.password}}</td> </tr> </ng-コンテナ> </ng-コンテナ> </テーブル> </div> </div> 2. 少ない .userContent_content{ 幅: 100%; 高さ: calc(~"100% - 60px"); オーバーフロー:自動; >div:n番目の子(1){ >表{ 幅: 100%; tr{ td{ 幅: 25%; テキスト配置: 中央; フォントサイズ: 14px; 色: #fff; パディング: 16px 0px; ボックスの影: 0 1px #333; } } .img { >div { 幅: 100%; ディスプレイ: フレックス; 位置: 相対的; >div:n番目の子(1) { 幅: 85%; 空白: ラップなし; テキストオーバーフロー: 省略記号; -o-テキストオーバーフロー:省略記号; オーバーフロー: 非表示; マージン: 0 自動; } } 画像 { 高さ: 10px !重要; 幅: 10px !重要; 左マージン: 0 !重要; 位置: 絶対; 右: 0; 上: 3px; } } } } >div:n番目の子(2){ 高さ: 80px; 幅: 90%; ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 マージン: 0 自動; コンテンツの端揃え: flex-end; #ページ{ 表示: テーブル; } } } 3.js (1) currentTotalListテーブルデータの形式は次のようになります(シミュレーションデータを自分で記述することもできます)。 (2)現在のクリックインデックス変数currentClickOpenIndexを-1に初期化する (3)は展開と折りたたみの矢印のクリックイベントです。 クリック表示子リスト = (i, 項目) =>{ console.log(i,this.currentClickOpenIndex) if(this.currentClickOpenIndex==i){ this.currentClickOpenIndex = -1 }それ以外{ this.currentClickOpenIndex = i } } そして完成です... Angular をベースにしたツリー型セカンダリ テーブルの実装に関するこの記事はこれで終わりです。Angular のツリー型セカンダリ テーブルに関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: PostgreSQL データベースにおける varchar、char、text の比較に関する簡単な説明
サーバーB(172.17.166.11)の電源がオンまたは再起動されると、サーバーA(172.17....
水平スクロールはあらゆる状況に適しているわけではありませんが、適切に行えば、Web サイトを他のサイ...
目次序文なぜユニットテストを導入するのですか?ユニットテストの概要テスト開発パターン1. テスト駆動...
1: SVNをインストールする yum インストール -y サブバージョン2. 倉庫を作る1: 倉庫...
スロットとは何ですか?スロット ディレクティブは v-slot であり、現在 slot と slot...
目次序文1. ローカルポート転送2. リモートポート転送3. 動的ポート転送(SOCKS5) 4. ...
nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...
Mixin は、再利用可能な機能を Vue コンポーネント間で分散する非常に柔軟な方法を提供します。...
Linux はますます多くのユーザーに愛されてきました。なぜ Linux はこれほど急速に発展し、い...
構造とパフォーマンスの紹介HTML 構造、CSS 表現、JavaScript 動作。Web ページの...
導入最近、Docker の ARM バージョンがあることを知りました。 hub.docker.com...
1. IE では、相対的な配置、つまり <div style="background...
1. まず、TomcatログのエンコーディングとIdeaログ表示コンソールのエンコーディングを区別す...
目次Cocos Creator のリソース管理に関する問題リソースの依存関係リソースの使用レスローダ...
この記事では、MySQL インストールの詳細なチュートリアルを記録し、全員と共有します。 1. バー...