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デプロイメントの実装例

推薦する

Vue はコンポーネント間の通信をどのように実装しますか?

目次1. 父と息子のコミュニケーション1.1 親コンポーネント --> 子コンポーネント1.2...

Reactの状態管理の3つのルールのまとめ

目次序文No.1 焦点No.2 複雑な状態ロジックの抽出No.3 複数状態操作の抽出要約する序文Re...

CSS で background-color を使用して背景画像にマスク効果を追加する 2 つの方法

div で background-color と background-image を同時に設定する...

Vue はスクロール可能なポップアップウィンドウ効果を実装します

この記事では、スクロール可能なポップアップウィンドウ効果を実現するためのVueの具体的なコードを参考...

CSS の Flex レイアウトを使用してシンプルな縦棒グラフを作成する方法

以下は、Flex レイアウトを使用した棒グラフです。 HTML: <div class=&qu...

Docker での Tomcat インストールの 404 問題の解決方法

tomcat の containerID を見つけて、tomacat ディレクトリに入ります。 [r...

Alibaba Cloud Ubuntu 16.04 が IPSec サービスを構築

IPSec の概要IPSec (インターネット プロトコル セキュリティ): ネットワーク層と適用さ...

HTML ハイパーリンク スタイル (4 つの異なる状態) の設定例

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

Windows での MySQL 5.7.10 のインストールと設定のチュートリアル

MySQL は、ユーザーごとに 2 つの異なるバージョンを提供します。 MySQL コミュニティ サ...

Oracle VM VirtualBox の CentOS7 オペレーティング システムのインストール チュートリアル図

目次インストール手順環境設定実行構成インストール手順ダウンロードアドレス: バージョン6.0 最初に...

MySQL 5.6.37 (zip) ダウンロード インストール 構成 グラフィック チュートリアル

この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...

少なくとも7日間連続して注文を行ったユーザーに対するSQLクエリ

テーブルを作成するテーブル order(id varchar(10),date datetime,o...

Nginx ロードバランシング/SSL 構成の実装

負荷分散とは何ですか?ドメイン名が複数の Web サーバーを指している場合は、nginx ロード バ...

mysql8.0.20 のダウンロードとインストールおよび発生した問題 (図とテキスト)

1.ブラウザでmysqlを検索してダウンロードしてインストールしますアドレス: https://d...

Vue でコミュニケーションを実装する 8 つの方法

目次1. コンポーネント通信1. Props 親コンポーネント ---> 子コンポーネント通信...