ElementUI の el-dropdown に複数のパラメータを実装する方法

ElementUI の el-dropdown に複数のパラメータを実装する方法

最近、業務上のボタンの増加により、ページレイアウトにボタンが多すぎて、ページが美しくなく、ユーザーエクスペリエンスが良くありません。そこで、el-dropdownを使用してドロップダウンボタンを作成することを考えました(複数のボタンを統合してドロップダウンを実装します)

ここに画像の説明を挿入

ただし、ElementUi 公式ドキュメントの handleCommand メソッドでは、選択したオプションをトリガーするために使用される 1 つのパラメータのみを渡すことができます。実際には、現在の行番号を持つオブジェクトを渡す必要もあります (私のようにテーブルを使用してデータを表示する場合)。次に、このオブジェクトのいくつかのフィールドを使用して、追加、削除、変更、およびクエリ操作のためにバックグラウンドに渡します。

ElementUi の公式ドキュメントにある el-dropdown の例は次のとおりです。
el-dropdown 公式ドキュメント

<el-dropdown @command="handleCommand">
  <span class="el-dropdown-link">
    ドロップダウン メニュー<i class="el-icon-arrow-down el-icon--right"></i>
  </span>
  <el-dropdown-menu slot="ドロップダウン">
    <el-dropdown-item command="a">ゴールデンケーキ</el-dropdown-item>
    <el-dropdown-item command="b">ライオンヘッド</el-dropdown-item>
    <el-dropdown-item command="c">カタツムリライスヌードル</el-dropdown-item>
    <el-dropdown-item command="d" disabled>ダブルスキンミルク</el-dropdown-item>
    <el-dropdown-item command="e" split>牡蠣オムレツ</el-dropdown-item>
  </el-dropdown-menu>
</el-dropdown>

<スタイル>
  .el-ドロップダウンリンク{
    カーソル: ポインタ;
    色: #409EFF;
  }
  .el-icon-arrow-down {
    フォントサイズ: 12px;
  }
</スタイル>

<スクリプト>
  エクスポートデフォルト{
    メソッド: {
      ハンドルコマンド(コマンド) {
        this.$message('アイテムをクリック' + コマンド);
      }
    }
  }
</スクリプト>

handleCommand メソッドを実行する前に、コマンド パラメータをオブジェクトに再パッケージ化して、後の呼び出しに必要なデータが含まれるようにする必要があります。

コードは次のとおりです。

<el-table-column label="操作 1">
    <テンプレート スロット スコープ="スコープ">
        <el-dropdown 分割ボタン type="primary" @command="handleCommand">
            その他の操作 <el-dropdown-menu slot="dropdown" >
                <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'a')">放棄</el-dropdown-item>
                <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'b')">オリジナルをアップロード</el-dropdown-item>
                <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'c')">オリジナルアレンジ</el-dropdown-item>
                <el-dropdown-item 無効 :command="beforeHandleCommand(scope.$index, scope.row,'d')">フリーズ</el-dropdown-item>
                <el-dropdown-item disabled :command="beforeHandleCommand(scope.$index, scope.row,'e')">フリーズ解除</el-dropdown-item>
            </el-dropdown-menu>
        </el-dropdown>
    </テンプレート>
</el-table-column>

表に書き込むため、スロットが必要となり、実際の状況に応じて具体的な修正を加えます。メソッドをタグの command 属性にバインドします。このメソッドは必要なパラメータを渡し、このメソッドを使用してそれをオブジェクトにカプセル化し、このオブジェクトを handleCommand メソッドに渡します。

<スクリプト>
エクスポートデフォルト{
    メソッド: {
        handleAbandon(インデックス、行) {
           //やること
        },
        handleUpload (インデックス、行) {
            //やること
        },
        handleSettle(インデックス、行){
           //やること   
        },
        beforeHandleCommand(インデックス、行、コマンド){
            戻る {
                'インデックス': インデックス、
                '行': 行、
                'コマンド':コマンド
            }
        },
        ハンドルコマンド(コマンド) {
            スイッチ (コマンド.コマンド) {
                case "a"://abandon this.handleAbandon(command.index,command.row);
                    壊す;
                case "b"://元のファイルをアップロードします this.handleUpload (command.index, command.row);
                    壊す;
                case "c"://元の配置 this.handleSettle(command.index,command.row);
                    壊す;
            }
        }
    },
}
</スクリプト>

ElementUI で el-dropdown の複数のパラメータを実装する方法についての記事はこれで終わりです。ElementUI で el-dropdown の複数のパラメータを渡す方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vue+elementは背景のel-dropdownドロップダウン機能の小さな要約を構築します

<<:  MYSQLストアドプロシージャコメントの詳細な説明

>>:  フロントエンドとバックエンド分離プロジェクトのDockerデプロイメントの実装例

推薦する

HTML を使用して IE8 および IE9 の互換表示モードを無効にするヒント

IE 8 以降では互換モードが追加され、これを有効にすると IE の下位バージョンでレンダリングされ...

Postman 自動インターフェーステストの実践

目次背景説明GETリクエストの作成事前リクエストスクリプトで署名を作成するスクリプトは環境変数に書き...

LinuxにMySQLをインストールし、外部ネットワークアクセスを構成する例

設定手順1. DNSが設定されているかどうかを確認するDNSが設定されていない場合は、前の記事を参照...

CSS で左上の三角形を作成するいくつかの方法の詳細な説明

今日は、CSS を使用して左上の三角形を記述するいくつかの方法を紹介します。概略図(幅と高さを60p...

Vue シングルファイルコンポーネントの実装

最近、vue について読みました。これまで基本的に見落としていた単一ファイル コンポーネントを見つけ...

MySQL を使用して Excel でデータ生成を完了する方法

Excel は、データ分析に最もよく使用されるツールです。この記事では、MySQL と Excel ...

JSでES6クラスの使い方をすぐにマスター

1. どのように構築しますか? es5 でクラスを構築する一般的な方法を確認しましょう。まず、es5...

Node.js で Bash スクリプトを書くための究極のソリューション

目次序文zxライブラリ$`コマンド` CD()フェッチ()質問()寝る()スローしない()チョークフ...

Dockerはホスト間のネットワーク通信を実現するためにMacvlanを導入する

基本的な概念: Macvlanの動作原理: Macvlan は、Linux カーネルでサポートされて...

リンク内の href=# はどういう意味ですか?

現在のページへのリンク。 -------------------一般的な使用法は次のとおりです。 &...

DOSBox を起動後に自動的にコマンドを実行する方法

DOSBox を使用すると、Windows で DOS をシミュレートし、楽しい作業を行うことができ...

レスポンシブ原則と Vue2.0/3.0 の違いについての簡単な分析

序文vue3.0 が正式にリリースされて以来、多くの友人が vue3.0 に切り替えました。ここでは...

MySQL よく使われる関数の詳細な概要

目次MySQL 共通関数1. 数値関数文字列関数3. 時間機能4. システム機能5. 集計関数MyS...

2列の水平タイムラインを実装するためのVueサンプルコード

目次1.コンポーネントtimelineH.vueを実装する2. コンポーネントの呼び出しこの記事では...

Vue のディスパッチとブロードキャストの自己実装の詳細説明 (ディスパッチとブロードキャスト)

解決すべき問題主にコンポーネント間のクロスレベル通信用なぜディスパッチとブロードキャストを自分で実装...