この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 背景taro h5 では、次のスタイルの入力ボックスを実装します。 質問:taroコンポーネントとtaro-uiコンポーネントにはこのスタイルのコンポーネントはありません。Taro h5はプレースホルダーのスタイルの変更をサポートしていません。より柔軟にスタイルを定義できる入力コンポーネントを自分で実装してみました。 成し遂げるjsコード Taro をインポートします。{ コンポーネント } から '@tarojs/taro'; '@tarojs/components' から View をインポートします。 'taro-ui' から AtIcon をインポートします。 './index.scss' をインポートします。 /** * @description 入力ボックスコンポーネントを手動で実装します* @param placeholder: String 入力ボックスのプレースホルダーをカスタマイズします* @param onClickSearch: Function 入力コンテンツを取得するコールバック*/ クラスBaseInputはComponentを拡張します{ コンポーネントマウント() { //入力ボックスのフォーカス document.querySelector('.search').focus(); } ハンドルサーチ = () => { //入力ボックスの内容を取得します。const value = document.querySelector('.search').innerText; this.props.onClickSearch && this.props.onClickSearch(値); }; 与える() { const { placeholder = '入力してください' } = this.props; 戻る ( <View className="base_input"> <View className="my_search"> <アイコン 値="検索" カラー="#999" クラス名="検索アイコン" onClick={this.handleSearch} /> {/* contenteditable は div が編集可能かどうかを制御できます*/ <表示 クラス名="検索" コンテンツ編集可能 プレースホルダー={プレースホルダー} </表示> </表示> </表示> ); } } デフォルトの BaseInput をエクスポートします。 SCSSコード .base_input { .my_search { ボックスのサイズ: 境界線ボックス; 幅: 690ピクセル; 高さ: 56px; 行の高さ: 56px; 境界線の半径: 28px; マージン: 12px 自動; 背景: #f8f8f8; ディスプレイ: フレックス; .検索アイコン { 幅: 30ピクセル; 高さ: 30px; 左マージン: 20px; 右マージン: 18px; } 。検索 { 幅: 560ピクセル; パディング: 0px 18px; 背景: #f8f8f8; 高さ: 56px; 色: #999; フォントサイズ: 28px; フォントの太さ: 400; &:empty::after { コンテンツ: attr(プレースホルダー); } } } } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL Innodb ストレージ構造と Null 値の保存の詳細な説明
>>: Docker+Jenkinsによる自動デプロイの実現方法
最近、実践的なトレーニング プロジェクトを実行する際に ssm フレームワークを使用しました。プロジ...
tcpdump は、ネットワークの問題のトラブルシューティングに効果的に役立つ、柔軟で強力なパケット...
NFS の紹介NFS (ネットワーク ファイル システム) は、FreeBSD でサポートされている...
MySQL エラー:エラー コード: 1293 テーブル定義が正しくありません。CURRENT_T...
デザイナーは心理学を理解する必要があるデザイナーが知るべき心理学という本は非常に興味深いです。まず、...
Zabbix サーバー環境プラットフォームZABBIX バージョン 4.4セントOS8 MySQL ...
イメージは hub.docker.com に保存できますが、ネットワーク速度が比較的遅いです。内部環...
目次変数のスコープ閉鎖の概念クロージャの使用クロージャのデメリット最後に、クロージャのメリットとデメ...
Vueドロップダウンリストの2つの実装最初の方法はv-forを使用する <el-select ...
1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...
VueとネイティブJavaScriptカプセル化に基づいて、プルダウンリフレッシュとプルアップロード...
この記事では、カルーセルマップの効果を実現するためのjQueryの具体的なコードを参考までに共有しま...
序文最近、4 年間実行されている Java EE Web プロジェクトでは、システムが開けないという...
1. 埋め込みは違法です<embed> タグは Netscape のプライベート タグで...
簡単な説明<br />IE6および7では、一般的なaタグ(HTMLで記述され、DOM操作...