Vue を使用して数値キーボード コンポーネントを実装する方法
私は最近 Vue 開発を行っています。金額入力を伴うページが多いため、製品では金額入力にネイティブ入力を使用するエクスペリエンスが非常に悪いと常に感じているため、Vue を使用してカスタム数値キーボード コンポーネントを作成しました。実装コード こちらの記事を参考にしてください
ユーザーエクスペリエンスを満足させるために、vueを使用してカスタムテンキーコンポーネントを作成しましたが、ユーザーエクスペリエンスは悪くありません。
早速、レンダリングから始めましょう~
レンダリング
具体的な実装
レイアウトと組版
<p class='key-container'> <p class='key-title'>请输入金额</p> <p class='input-box'>{{ money }}</p> <p class='keyboard' @click.stop='_handleKeyPress'> <p class='key-row'> <p class='key-cell' data-num='7'>7</p> <p class='key-cell' data-num='8'>8</p> <p class='key-cell' data-num='9'>9</p> <p class='key-cell' data-num='D'>C</p> </p> <p class='key-row'> <p class='key-cell' data-num='4'>4</p> <p class='key-cell' data-num='5'>5</p> <p class='key-cell' data-num='6'>6</p> <p class='key-cell' data-num='C'>清空</p> </p> <p class='key-row'> <p class='key-cell' data-num='1'>1</p> <p class='key-cell' data-num='2'>2</p> <p class='key-cell' data-num='3'>3</p> <p class='key-cell' data-num='-1'></p> </p> <p class='key-row'> <p class='key-cell disabled' data-num='-1'></p> <p class='key-cell' data-num='.'>.</p> <p class='key-cell' data-num='0'>0</p> <p class='key-cell' data-num='-1'></p> </p> <p class='key-confirm' data-num='S'>确认</p> </p> </p>
レイアウトはすべて私が採用していますp 要素はシミュレーションに使用され、便利で使いやすいです (๑ŐдŐ)b
キーボードのキーに関して、各ボタンにはカスタム属性値 num が設定されており、その目的は、キーを押すことによって生成されるさまざまな効果を区別することです。
イベントは親レベルにバインドされており、キャプチャを通じて特定のクリックされた要素を決定します
スタイルコードはここには投稿しません、具体的な詳細はgithubでホストします〜
入力判定
キーボードで最も重要なことは入力判定です。キーボード入力全体は最初に _handleKeyPress によって処理されます
//处理按键 _handleKeyPress(e) { let num = e.target.dataset.num; //不同按键处理逻辑 // -1 代表无效按键,直接返回 if (num == -1) return false; switch (String(num)) { //小数点 case '.': this._handleDecimalPoint(); break; //删除键 case 'D': this._handleDeleteKey(); break; //清空键 case 'C': this._handleClearKey(); break; //确认键 case 'S': this._handleConfirmKey(); break; default: this._handleNumberKey(num); break; } }
キーの種類を小数点、削除 (バックスペース) キー、クリア キー、確認の 5 つのカテゴリに分けていることがわかります。キーと数字キーは、ペアごとに異なる処理機能を使用します。次に、それらを 1 つずつ分析してみましょう。そうでない場合は、小数点に分割されます。入力されている場合は、それを 0 に変更します。そうでない場合は、小数点を現在の文字の末尾に追加します。
削除 (バックスペース) キー。まず現在入力されている文字が空かどうかを判断し、文字がない場合は直接戻ります。そうでない場合は、文字列の最後の文字を削除します。ロジックは最も単純で、現在の文字をクリアするだけです。//处理小数点函数 _handleDecimalPoint() { //如果包含小数点,直接返回 if (this.money.indexOf('.') > -1) return false; //如果小数点是第一位,补0 if (!this.money.length) this.money = '0.'; //如果不是,添加一个小数点 else this.money = this.money + '.'; }
コンポーネントの紹介
コンポーネントの準備ができました。パスを入力し、対応するコンポーネントに登録し、使用するページに直接配置します。次のようになります
//处理删除键 _handleDeleteKey() { let S = this.money; //如果没有输入,直接返回 if (!S.length) return false; //否则删除最后一个 this.money = S.substring(0, S.length - 1); }
。ここで、_confirmEventはクリックして確認しますキーのコールバックでは、パラメーターは入力された量です~ mock.jsを使用してランダムデータを生成する 以上がVue を使用して数値キーボード コンポーネントを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。//处理清空键
_handleClearKey() {
this.money = '';
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

VUEマルチページ開発は、VUE.JSフレームワークを使用してアプリケーションを構築する方法です。アプリケーションは別々のページに分割されます。コードメンテナンス:アプリケーションを複数のページに分割すると、コードの管理とメンテナンスが容易になります。モジュール性:各ページは、簡単に再利用および交換するための別のモジュールとして使用できます。簡単なルーティング:ページ間のナビゲーションは、単純なルーティング構成を介して管理できます。 SEOの最適化:各ページには独自のURLがあり、SEOに役立ちます。

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

Vue.jsには配列とオブジェクトを通過するには3つの一般的な方法があります。V-Forディレクティブは、各要素をトラバースしてテンプレートをレンダリングするために使用されます。 V-BindディレクティブをV-Forで使用して、各要素の属性値を動的に設定できます。 .mapメソッドは、配列要素を新しい配列に変換できます。

VUEにDIV要素をジャンプするには、VUEルーターを使用してルーターリンクコンポーネントを追加するには、2つの方法があります。 @clickイベントリスナーを追加して、これを呼び出します。$ router.push()メソッドをジャンプします。
