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

推薦する

WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...

mysql-connector-java.jar パッケージのダウンロード プロセスの詳細な説明

mysql-connector-java.jar パッケージのチュートリアルをダウンロードします: ...

Docker 構成 Alibaba Cloud イメージアクセラレーション プル実装

今日はdockerを使ってイメージをpullしたのですが、速度が悪くて見れず最後まで待ち続けました。...

MySQL マスタースレーブ遅延問題の解決方法

今日は、マスタースレーブ遅延が発生する理由とその対処方法について説明します。しっかり座って出発の準備...

Docker に Elasticsearch 7.6.2 をインストールするチュートリアル

DockerをインストールするDocker をインストールする必要がありますが、それ以上の指示はあり...

CSS 属性を使用してマウス イベントをブロックする方法 (マウス クリックは上位の要素を貫通する可能性があります)

由来: 数日前、テスターから写真を見るという要件が送られてきました。 この要件を見たとき、私は少し混...

要素テーブルヘッダー行の高さの問題の解決

目次序文1. 問題の原因2. 解決策VueはelementUIテーブルtr thの高さと背景色を変更...

MySQL パーティションテーブルのベストプラクティスガイド

序文:パーティショニングはテーブル設計パターンです。一般的に、テーブル パーティショニングとは、条件...

Windows プラットフォームでの MySQL のインストールと設定方法と注意事項

2.1、msiインストールパッケージ2.1.1、インストール特に重要なのは、インストール前に、元の ...

CCS におけるマージン: トップ崩壊問題を解決する

HTML 構造は次のとおりです。 CCS 構造は次のとおりです。 ページ効果図は次のとおりです。 こ...

JavaScript クリップボードの使用法の詳細な説明

(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...

Linux でファイルの作成時間を取得する方法と実践的なチュートリアル

背景ファイルの作成時刻を取得する必要がある場合があります。例えば: 「xtrabackup スキーマ...

MySQLのロック機構の詳細な説明

序文データの一貫性と整合性を確保するために、あらゆるデータベースにはロック メカニズムが備わっていま...

CSS 属性値正規マッチングセレクターの使い方 (ヒント)

属性値の正規一致セレクターには 3 つの種類があります。 [属性^="値"] [...

HTTPS の有効化に関する経験の共有

国内のネットワーク環境が悪化し続ける中、さまざまな改ざんや乗っ取りが後を絶たず、サイト全体をHTTP...