この記事の目的は、最も明確な構造を使用していくつかのコンポーネントの基本機能を実装することです。皆さんと一緒に学び、成長していきたいと思います。 エフェクト表示: テストコンポーネント: クラス Test は Component を拡張します { コンストラクタ(props) { スーパー(小道具) この状態 = { アクティブ:1 } } onGroupChange(値) { this.setState({ アクティブ: 値 }) } 与える() { 戻る ( <div> <ラジオグループ onChange={this.onGroupChange.bind(this)} active={this.state.active}> <Radio value={1}>残高で支払う</Radio> <Radio value={2}>WeChat Pay を使用する</Radio> </ラジオグループ> <ボタンのクリック={()=>{ console.log("現在の選択は: "+this.state.active) }}>次へ</ボタン> </div> ) } } デフォルトのテストをエクスポートします。 ラジオグループ: React をインポートします。{ コンポーネント } から 'react' をインポートします。 クラスRadioGroupはComponentを拡張します{ handleActiveChange(値) { console.log(`${value}が選択されました`) this.props.onChange(値) } 与える() { 戻る ( <div> { React.Children.map(this.props.children, 子 => { isActive = this.props.active === child.props.value ? true : false とします React.cloneElement(child, { を返す ラベル: child.props.children, 値: child.props.value、 アクティブ: isActive、 クリック時: this.handleActiveChange.bind(this) }) }) } </div> ) } } デフォルトの RadioGroup をエクスポートします。 ラジオ.jsx: React をインポートします。{ コンポーネント } から 'react' をインポートします。 「./radio.scss」をインポートします クラスRadioはComponentを拡張します{ 与える() { 戻る ( <div className="radio-wrap" onClick={this.props.onClick.bind(this,this.props.value)}> <div className="左"> <div className={`circle ${this.props.active === true ? 'active' : ''} `}> <div className="フォーク"></div> </div> <div className="label">{this.props.label}</div> </div> </div> ) } } デフォルトのラジオをエクスポートします。 ラジオ.scss: .radio-wrap { 高さ: 40px; 背景色: #ffffff; ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 パディング: 0px 30px; &:アクティブ { 背景色: rgb(221, 221, 221); } 。左 { 表示: インラインブロック; 。丸 { 表示: インラインブロック; 高さ: 22px; 幅: 22px; ボックスのサイズ: 境界線ボックス; 境界線: 1px 実線 #c5c9cd; 境界線の半径: 50%; 背景色: #ffffff; 位置: 相対的; } 。アクティブ{ 背景色: #1eb94a; .フォーク { 高さ: 12px; 幅: 5px; 右境界線: 1.5px 実線 #ffffff; 下境界線: 1.5px 実線 #ffffff; 位置: 絶対; 上位: 40% 左: 50%; 変換: 移動(-50%, -50%) 回転(45度); } } .ラベル { 垂直方向の位置合わせ: 上; 左マージン: 10px; 表示: インラインブロック; 高さ: 22px; 行の高さ: 22px; フォントサイズ: 14px; } } } これで、React で Radio コンポーネントを実装するサンプル コードに関するこの記事は終了です。React で Radio コンポーネントを実装することに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux のさまざまなロックメカニズムの使用方法と違いについて詳しく説明します
コンテナ間の通信1. コンテナのネットワーク共有このモードの Docker コンテナはネットワーク ...
ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...
序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...
問題の説明 (環境: windows7、MySql8.0)今日、MySql をインストールした後、M...
この記事では、従業員管理登録ページを実装するためのjQueryの具体的なコードを例として紹介します。...
コアSQL文数字を含まない MySQL クエリ ステートメント: SELECT * FROM tes...
この記事は 123WORDPRESS.COM Lightning によるオリジナルです。転載する際に...
目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する ...
ここ数日、ウェブサイトを初めて開いたときにアクセスが非常に遅いのですが、その後はページが正常に開きま...
ウェブサイトを作成する学生は、アクセス時に一部の nginx サーバーが 504 Gateway T...
目次成果を達成する利用可能なプラグインの紹介ニーズに応じてプラグインを選択するプラグインのインストー...
XHTML は 3 つのドキュメント タイプ宣言を定義します。最もよく使用されるのは XHTML T...
目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...
CSSでtext-align、margin: 0 autoを使用して中央揃えにするtext-alig...
Vim は強力なフルスクリーン テキスト エディターであり、Linux/UNIX で最も一般的に使用...