[解決済み] カスタマイズ素材UI チェックした場合としない場合の切り替え
2022-02-18 13:53:40
質問
ReactのMaterial UI Switchが無効の時にスタイリングを追加するのに苦労しています。このためにwithStylesを使用したいと思っています。チェックされた状態とチェックされていない状態の処理は、トラックのスタイリングと同様にうまく機能しますが、私が試したものは何も、サムまたはトラックの無効な状態のスタイリングに機能しませんでした。
以下は、私が使用しているコードで、コメントアウトされた無効状態のスタイル付けの試みが含まれています。
const MySwitch = withStyles({
switchBase: {
color: "orange",
opacity: 0.8,
"&$checked": {
color: "orange",
opacity: 1
},
"&$checked + $track": {
backgroundColor: "black",
opacity: 1
},
// "&$checked + $disabled": {
// color: "gray",
// opacity: 1
// },
// "&disabled": {
// color: "gray",
// opacity: 1
// },
// "&:disabled": {
// color: "gray",
// opacity: 1
// },
},
// disabled: {
// "& + $thumb": {
// color: "gray"
// }
// },
checked: {},
track: {}
})(Switch);
何か感想は?
解決方法は?
Ryanさん、Giovanniさん、ありがとうございます。お二人の回答は、私がそれを理解するのに貢献しました。Ryanからのキーポイントは、"&$disabled"をルールで使うには、"disabled:{}"も必要である、ということです。そして、Giovanniさんの回答で、disabledの状態とcheckedの状態がどのように相互作用するかについて考えさせられました。私のコードは、disabled が動作するようになり、私の最終目標である checked と disabled の両方のスタイルを持つことができるようになったものです。
const MySwitch = withStyles({
switchBase: {
// thumb when unchecked
color: "orange",
opacity: 0.8,
"&$checked": {
// thumb when checked
color: "orange",
opacity: 1,
// track when checked
"& + $track": {
backgroundColor: "black",
opacity: 1,
},
// The rules above override the default rules for graying
// out the thumb and track when the switch is disabled,
// so we have to add that back in ourselves
"&$disabled": {
// gray out the thumb
color: "#bbb",
"& + $track": {
// gray out the track
backgroundColor: "#ddd"
}
}
},
},
checked: {},
track: {},
disabled: {}
})(Switch);
関連
-
[解決済み】コンポーネントの定義に表示名がない react/display-name
-
[解決済み] テスト
-
[解決済み] TypeError: reactjs の未定義のプロパティ 'status' を読み取ることができません。
-
[解決済み] formcontrollabel - material-ui | Reactのデフォルトのtypography classを変更するには?
-
[解決済み] react router dom v4でwebpack dev serverを構成する方法は?
-
[解決済み] Cross-envでyarnの実行時にenv変数が変更されない。
-
[解決済み] Reactでグローバル変数を宣言する方法とは?
-
[解決済み] React JSXのforEach()でHTMLが出力されない
-
[解決済み] Reactでes6クラスを使うときの「super()」と「super(props)」の違いとは?
-
[解決済み] MakeStyles を使用してコンポーネントのスタイルを設定し、マテリアル UI のライフサイクル メソッドを維持するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】React - 式は1つの親要素を持つ必要がありますか?
-
[解決済み] Apolloクライアントでログアウトした後、ストアをリセットする
-
[解決済み] react router dom v4でwebpack dev serverを構成する方法は?
-
[解決済み] ReactjsのEsLintの "react / jsx-props-no-spreading "エラーを無効化する。
-
[解決済み] React TypeScriptで作業しているときに、Jestが予期しないトークンに遭遇した
-
[解決済み] ReactJS - SCRIPT1010: 期待される識別子 - IE11 で本番ビルドが実行されない
-
[解決済み] react.jsで複数のモジュールをエクスポートする
-
[解決済み] react-navigation v5を使ったreact-nativeアプリのAppNavigatorの構文を更新する。
-
[解決済み] Cross-envでyarnの実行時にenv変数が変更されない。
-
[解決済み] reactのuseStateフックでコールバックを使う方法 [重複]。