この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 背景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による自動デプロイの実現方法
1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...
最近 Linux をいじっていたので、nginx の新しいバージョンをインストールしたいと思いました...
1. 遷移属性の理解1. transition 属性は、次の 4 つの遷移プロパティを設定するために...
一般的に、テーブルを使用する場合は、常に <table border="1"...
序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...
目次Dockerとは展開する1. イメージをプルする2. 画像を表示する3. コンテナを実行する4....
目次DOMContentLoadedとロードjs ブロッキングとは何ですか? CSS ブロッキングと...
実際の開発環境や本番環境では、コンテナを独立して実行することはあまりなく、複数のコンテナを一緒に実行...
画像タグ <IMG> を挿入します。今日私たちが目にするカラフルなウェブページはすべて、...
最近、CSS3 アニメーションのソース コードの実装をいくつか見ていたところ、CSS コード アニメ...
MySQL を使用する場合、多くの開発者は一部の列に対して関数計算を実行することが多く、その結果、イ...
まず init-connect を通じて mysql 接続を初期化し、次にインスタンスに接続する必要...
目次1. 画像を取得する2. ブローカーサーバーを作成する3. ブローカーを作成する4. Rocke...
win10 + Ubuntu 20.04 LTS デュアルシステムインストール (UEFI + GP...
この記事では、主にリスト構造を使用して水平ナビゲーション構造を設定する 2 つの方法を紹介します。こ...