質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1110閲覧

値を変更した時にチェックボックスの状態も変えたい

TTaro

総合スコア7

Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

1クリップ

投稿2021/10/20 07:24

編集2021/10/20 07:27

JavaScript

1export default function Selector(props) { 2 const changeValue = () => { 3 props.onChange((current) => !current); 4 } 5 6 const onClickEvent = () => { 7 if(props.isSelected = true){ 8 changeValue(); 9 setTimeout(changeValue,3000) 10 }else{ 11 changeValue(); 12 } 13 }; 14 15 return ( 16 <div className="Select"> 17 <Checkbox 18 icon={<AudiotrackOutlinedIcon />} 19 checkedIcon={<AudiotrackSharpIcon />} 20 defaultChecked={props.isSelected} 21 onChange={onClickEvent} 22 /> 23 {props.isSelected && ( 24 <div className="Select_on">現在チェックされています</div> 25 )} 26 {!props.isSelected && ( 27 <div className="Select_off">現在チェックされていません</div> 28 )} 29 </div> 30 ) 31} 32

上部のコードは、省略されていますが、チェックボックスにチェックが入っているときは「現在チェックされています」と表示され、チェックが入っていないときは「現在チェックされていません」と表示するようにしたものです。

onClickEventの中で、チェックを外して3秒後にチェックが自動で入るように書きました。

しかし、チェックを外して3秒たった時にprops.isSelectedの値は変わり、表示されるメッセージも「現在チェックされています」に変わるのですが、チェックボックスは空白のままで変わりません。

どのようにすればprops.isSelectedの内容とチェックボックスの状態を同じにすることができるのでしょうか。

ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/10/20 17:53

defaultChecked={props.isSelected} じゃなくて checked={props.isSelected} では。
TTaro

2021/10/21 03:48

ご指摘いただいた通りdefaultCheckedからcheckedに変えると動いてほしいように動きました。ありがとうございました。
guest

回答1

0

自己解決

defaultCheckedからcheckedに変えると動いてほしい通りの動作になりました。
hoshi-takanoriさんありがとうございました。

投稿2021/10/21 03:49

TTaro

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問