この記事では主に以下について説明します: カスタムツリーコントロール 要件:Element UI 公式 Web サイトで提供されるツリー コントロールには、次のような基本、選択可能、カスタム ノード コンテンツ、ノード フィルタリング、ドラッグ可能なノード ツリー構造が含まれます。 私が求めている効果は、検索効果をサポートするツリーです。マウスをホバーすると、追加アイコンと変更アイコンが表示されます。アイコンをクリックすると、対応するページがポップアップ表示され、各フォルダーの前にカスタムアイコンが追加されます。 結果: 実装手順:1. スロットを使用する <el-col :span="4" :xs="24"> <!--ディレクトリ検索機能--> <div class="head-container"> <el-入力 v-model="dirNameCn" placeholder="ディレクトリ名を入力してください" クリア可能 サイズ="小" プレフィックスアイコン="el-icon-search" スタイル="マージンボトム: 20px" /> </div> <!--ツリー表示--> <div class="head-container"> <el-tree :data="dirTreeオプション" :props="デフォルトプロパティ" :クリック時にノードを展開="false" :filter-node-method="filterNode" ref="木" デフォルトすべて展開 @node-click="ハンドルNodeClick" icon-class="el-icon-folder-opened" ノードキー="id" :クリック時にチェックするノード="true" > <!-- 非表示の新しいアイコン --> <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span>{{ ノード.ラベル }}</span> <div> <i v-show="data.show" class="el-icon-circle-plus" style="color: #00afff" @click="addDial(node, data)"/> <!--非表示のドロップダウン選択--> <el-dropdown トリガー="クリック" 配置="右" @command="(コマンド) => {handleCommand(コマンド)}"> <i v-show="data.show" class="el-icon-more" style="color: #D3D3D3"/> <el-dropdown-menu slot="ドロップダウン"> <el-dropdown-item command="a">名前の変更</el-dropdown-item> <el-dropdown-item command="b">削除</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </div> </span> </el-tree> </div> </el-col> 2. コンポーネントに対応するJS 注: ツリーデータはバックエンドからクエリされ、 <スクリプト> エクスポートデフォルト{ 名前: 'reqmdoctree', データ() { 戻る { // 左の検索ボックスの内容 dirNameCn: '', // ディレクトリツリーオプション dirTreeOptions: undefined, デフォルトプロパティ: { 子供: 「子供」、 ラベル: "ラベル" }, //ツリーメニューに子ノードがあるかどうか yesChild: undefined, // 左側に新しく追加されたプロンプト情報ボックスを制御する show: 0, // クエリ要件ドキュメント情報パラメータ queryParams: { docNo: undefined, // 文書番号 docNameEn: undefined, // 文書の英語名 dirNo: undefined, // ディレクトリ番号 current: 1, // 現在のページ サイズ: 20 // ページあたりに表示される項目数 }, ツリーID: 未定義、 } }, メソッド: { /** 必要なディレクトリのドロップダウンツリー構造を照会します*/ getTreeSelect() { treeselect().then(応答 => { this.dirTreeOptions = レスポンス.データ }) }, // 検索値はフィルターです function filterNode(value, data) { if (!value) が true を返す data.label.indexOf(値) !== -1 を返します }, // ノードがクリックされたときのコールバック関数 handleNodeClick(data) { // コンソール.log(データ) this.treeId = データID this.yesChild = data.children this.queryParams.dirNo = データ ID このリストを取得する() }, //ツリー内の3つのポイントのイベント handleCommand(command) { if (コマンド == 'a') { selectReqNo(this.treeId).then(応答 => { this.uuid = 応答.msg getObjTree(response.msg).then(response => { this.form = レスポンスデータ this.open = true this.title = '要件ドキュメントディレクトリ構成テーブルを変更する' }) }) } if (コマンド == 'b') { if (this.yesChild != 未定義) { this.$notify.error({ タイトル: 「警告」 メッセージ: 「このディレクトリには他のフォルダがあります」 }) } それ以外 { selectReqNo(this.treeId).then(応答 => { this.uuid = 応答.msg this.$confirm('ID ' + this.uuid + ' のデータ項目を削除してもよろしいですか?', '警告', { confirmButtonText: '確認'、 cancelButtonText: 'キャンセル'、 タイプ: '警告' })。そして()=>{ delObjTree(this.uuid) を返します })。次に、データ => { この.getTreeSelect() this.msgSuccess('正常に削除されました') }).catch(関数() { }) }) } } }, // 左側に新しいディレクトリ/ファイルを作成する addDial(node, data) { // console.log(ノード、'---'、データ) this.reset() this.form.dirParentId = データ.id this.open = true this.title = '要件ドキュメントディレクトリ構成テーブルを追加する' }, // マウスを左に置いたときにアイコンを表示する mouseenter(data){ this.$set(データ、'表示'、true) }, // マウスの左ボタンが離れるとアイコンは表示されません。mouseleave(data){ this.$set(データ、'表示'、false) }, //ここで新しいリソースのポップアップ ウィンドウを開きます...... } } </スクリプト> 例: 参照ドキュメント: 要素 UI、ツリー コントロール統合ドロップダウン選択 これで、アイコン付きのドロップダウン メニューを統合した Element ツリー コントロール (ツリー + ドロップダウン + 入力) に関するこの記事は終了です。アイコン付きの Element ドロップダウン メニューに関連するその他のコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Excel ファイルを MySQL データベースにインポートする方法
この記事では、CSS3 を使用した Web サイトの商品表示の効果を紹介し、皆さんと共有します。詳細...
別のツリー構造があるJavascriptオブジェクトでは、このツリーが本物であると伝えるだけでよいD...
最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...
デフォルトでは、Flash は常にページのトップレベルに表示されます。つまり、ページに DHTML ...
HTML <dl> タグ#定義と使用法<dl> タグは定義リストを定義します...
これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...
序文実際のビジネスでは、ページングは一般的なビジネス要件です。次に、制限クエリを使用します。制限...
結果: 実装コードhtml <div id="価格表" class=&qu...
2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...
SQL とは何ですか? SQL はデータベースを操作するために使用される言語です。 SQL はすべ...
MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するス...
集計関数データセットに作用し、そのデータセットの値を返します。 count: 統計結果のレコード数。...
1. mysqldump バックアップ方法では論理バックアップが使用されます。最大の欠点は、バック...
目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...
目次問題の説明:原因分析:解決:補足: Reactでは、フックが使用されている場合、useState...