この記事では、VUE の複数の DIV とボタン バインディングの Enter イベントを実装する方法を説明します。

この記事では、VUE の複数の DIV とボタン バインディングの Enter イベントを実装する方法を説明します。

現在、OK ボタンをクリックしたときやキーボードの Enter キーを押したときに操作を実行するという要件があり、これは多くの場所で必要とされています。

いくつかの方法を試しましたが、どれもうまくいきませんでした。

まず、@keyup.enter メソッドを div (ボタンも同様) にバインドしましたが、まったく効果がありませんでした。そこで、インターネット上の方法に従って、次のように記述しました。

<div class="btn submit" @keyup.enter="submit" @click="submit">確認 (Ent)</div>
作成された(){
   document.onkeydown = 関数(e) {
     if(e.keyCode == 13){
       console.log("実行する必要のあるメソッドを呼び出します"); 
     }
   }
 },

確かに、これによって復帰イベントを実装できますが、これはグローバルです。つまり、他のコンポーネントで Enter キーを押すと、ここでの復帰イベントも呼び出されます。この方法は機能しません。

それから私はこうしました:

1. [OK] ボタンと [キャンセル] ボタンの間に <input> タグを追加します (中央に配置するとボタン間のスペーサーとして機能するため、margin-left を記述する必要はありません)。次に、この input タグに @keyup.enter イベントを追加します。

<テンプレートスロット="フッター">
        <div class="dialog-footer dis-flex">
          <div class="btn cancel" @click="showDialog = false">キャンセル (Esc)</div>
          <入力
            タイプ="テキスト"
            ref="入力データ"
            クラス="hiddenIpt"
            @keyup.enter="送信"
          />
          <div class="btn 送信" @click="送信">
            確認(Ent)
          </div>
        </div>
</テンプレート>

2.ポップアップ ウィンドウが開かれたときに入力ボックスに自動的にフォーカスするリスナーを作成します (inputdata は ref を使用して入力にバインドされます)。

時計:
    ダイアログを表示(){
      ダイアログを表示する
        //this.$refs.inputdata.focus(); 間違った書き方 this.$nextTick(() => //正しい書き方 this.$refs.inputdata.focus();
        });
      }
    },
  },

3.入力ボックスを非表示にします(OKボタンとキャンセルボタンの間隔として使用する幅を設定します)。

.hiddenIpt {
    幅: 2rem;
    不透明度: 0;
  }

これは完璧な解決策です。より良い解決策があれば、ぜひご連絡ください。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue2.xはバックエンドインターフェースプロキシを介してQQミュージックAPIからデータを取得します。
  • Vue ソースコード内のデータへのプロキシアクセスの詳細な説明
  • VUE 入門 イベント処理の学習
  • Vue3 Vue イベント処理ガイド
  • VUEのデータプロキシとイベントの詳細な説明

<<:  dl、dt、dd リスト ラベルの例

>>:  独自の Docker イメージを作成して Dockerhub にアップロードする方法

推薦する

MySQL での select、distinct、limit の使用

目次1. はじめに2. 選択2.1 単一列のクエリ2.2 複数の列のクエリ2.3 すべての列をクエリ...

MySQL 5.7.24 のインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.24のインストールと設定のチュートリアルを参考までに紹介します。具...

MySQL クエリ キャッシュとバッファ プール

1. キャッシュ - クエリキャッシュ次の図は、MySQL 公式サイトから提供されています: MyS...

MySQL の binlog ログと、binlog ログを使用してデータを回復する方法を説明します。

ご存知のとおり、binlog ログは MySQL データベースにとって非常に重要です。万が一、データ...

JavaScriptはスタック構造の詳細なプロセスを実装する

目次1. スタック構造を理解する2. スタック構造のカプセル化3. 10進数を2進数に変換する1. ...

Vue のすべてのカプセル化方法の簡単な概要

目次1. カプセル化API 2. グローバルツールコンポーネントを登録する3. グローバル関数をカプ...

CentOS6.9 での MySQL 5.7.17 のインストールと設定のチュートリアル

CentOS6.9はMysql5.7をインストールします。参考までに、詳細は次のとおりです。 1. ...

antd ツリーと親子コンポーネント間の値転送問題について (React のまとめ)

プロジェクト要件: 製品ツリー ノードをクリックすると、そのノードのすべての親ノードが取得され、表に...

Vue で debouce の手ぶれ補正機能を使用する方法

目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...

Docker 用ビジュアル UI 管理ツール Portainer のインストールと使用方法の分析

Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...

Linux プロセスが占有するポート番号を表示する 6 つの方法

Linux システム管理者にとって、サービスがポートに正しくバインドされているか、またはポートをリッ...

MySQLトランザクションを実行するための構文とプロセスの詳細な説明

概要: MySQL は、トランザクションをサポートするためにさまざまなストレージ エンジンを提供しま...

バインドを使用してDNSサーバーを設定する方法

DNS(ドメインネームサーバー)は、ドメイン名とそれに対応する IP アドレスを変換するサーバーです...

CentOS7にsshをインストールして設定する

1. openssh-serverをインストールする yum インストール -y openssl o...