この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 背景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による自動デプロイの実現方法
Tomcat7.0は仮想ディレクトリを設定します(1)現在、当社のウェブサイトはデフォルトのディレク...
jquery-multiselect (ドロップダウン ボックスをチェックボックス付きの複数選択コン...
免責事項:プロジェクトでは ROS 環境を使用する必要があるため、これは Ubuntu 20.04 ...
nginx が proxy_pass を設定する場合、末尾に "/" がある U...
共有システムで作業しているときは、他のユーザーが自分のコンソールを覗き込んで、自分が何をしているか見...
ページドメインの関係:メインページ a.html はドメイン A: www.jb51.net に属し...
MySQL を使用する場合、多くの開発者は一部の列に対して関数計算を実行することが多く、その結果、イ...
1. 単一行オーバーフロー1. 1 行がオーバーフローした場合、超過部分は表示されます...または、...
mysql 5.7.19 winx64のインストールチュートリアルは以下のように記録され、みんなと...
序文これまで当社ではMySQLの5.7シリーズを使用していましたが、バージョン8.0のリリースに合わ...
1. 矢印関数1. 矢印関数自体はこれをバインドしないという事実を利用します。 2. render(...
1. 監視計画監視項目を作成する前に、何を監視するのか、どのように監視するのか、監視データをどのよう...
目次コンテナデータボリュームとはコンテナ データ ボリュームが必要なのはなぜですか?使用データボリュ...
Ubuntu で nvidia グラフィック カード ドライバーをインストールします。同じ方法で ...
導入Memcached は分散キャッシュ システムです。Memcached には認証とセキュリティ制...