この記事では主に以下について説明します: カスタムツリーコントロール 要件: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 データベースにインポートする方法
目次1. インストール1. はじめに3. インターフェースルートアドレス4. 使用例4.1 ダウンロ...
Baiduのインタビューで遭遇する質問は、次のレイアウト効果を達成する必要がある。 中央の紫色の列...
1. vsftpdコンポーネントをインストールするインストールコマンド: [root@ink4t ~...
MySQL 8.0.16 にインストールする場合、「UTF8B3」ではなく「UTF8B4」が使用さ...
ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...
CSS 変換は便利ですが、背景画像にはまだ適用されていません。この投稿では、背景画像を回転させたい場...
序文ドラッグ アンド ドロップ機能を追加すると、プログラムがより自然でユーザーフレンドリーになります...
目次1. JavaScript エンジンとは何ですか? 2. V8エンジン3. ランタイム環境4. ...
訪問するたびにブラウザにCookieが生成されますが、 Cookieの存在はユーザーにとって良いこと...
イメージのバージョンとタグを確認するには、docker hubで確認する必要があります。アドレスは次...
FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...
<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...
はじめに:ナビゲーション バーなどのコンポーネント ベースのアイデアを使用して機能モジュールを完全に...
この記事の著者@子木yoyoが個人ブログに投稿したものです。 Web ページでもモバイル アプリでも...
公式サイトから mysql-5.7.19-winx64 をダウンロードします。これはシステムの 64...