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

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

新規登録して質問してみよう
ただいま回答率
85.31%

Q&A

解決済

1回答

1326閲覧

MUIのセレクトボックスの初期値が反映されない

ruuuu

総合スコア176

0グッド

0クリップ

投稿2024/04/22 02:20

編集2024/04/22 02:31

ReactのMUIのselectboxの初期値(testという文字列)が反映されないのですが、原因が分かりません。

import * as React from "react"; import Box from "@mui/material/Box"; import InputLabel from "@mui/material/InputLabel"; import MenuItem from "@mui/material/MenuItem"; import FormControl from "@mui/material/FormControl"; import Select, { SelectChangeEvent } from "@mui/material/Select"; export default function BasicSelect() { const [age, setAge] = React.useState("test"); const handleChange = (event: SelectChangeEvent) => { setAge(event.target.value); console.log("age", age); }; return ( <Box sx={{ minWidth: 120 }}> <FormControl fullWidth> <InputLabel id="demo-simple-select-label">Age</InputLabel> <Select labelId="demo-simple-select-label" id="demo-simple-select" value={age} label="Age" onChange={handleChange} > <MenuItem value={10}>Ten</MenuItem> <MenuItem value={20}>Twenty</MenuItem> <MenuItem value={30}>Thirty</MenuItem> </Select> </FormControl> </Box> ); }

再現用URL: codesandbox
どなたかご助言頂けましたら幸いです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2024/04/22 04:14

> ReactのMUIのselectboxの初期値(testという文字列)が反映されない とのことですが、「'test' という文字列が反映される」とはUI上どうなることなのかが分からなかったです。 ちなみに再現用URLのcodesandboxでコードを実行し、コンソールを開くと MUI: You have provided an out-of-range value `test` for the select component. Consider providing a value that matches one of the available options or ''. The available values are `10`, `20`, `30`. at SelectInput (https://nyddzn.csb.app/node_modules/@mui/material/Select/SelectInput.js:111:30) ・・・ という警告が表示されています。これによれば初期値として許容されるのは、文字列の `"10"`, `"20"`, `"30"`, と空文字列 `''` のみです。
ruuuu

2024/04/22 04:43 編集

ありがとうございます。 コンソールの確認不足でした。 valueの値を指定する必要があったのですね valueの値を指定したら表示することができました。
guest

回答1

0

自己解決

コメントでご指摘頂き解決できました。
以下のvalaueに指定した10 ~ 30の値を指定することで、初期値を設定できました。

<MenuItem value={10}>Ten</MenuItem> <MenuItem value={20}>Twenty</MenuItem> <MenuItem value={30}>Thirty</MenuItem>

投稿2024/04/22 06:17

ruuuu

総合スコア176

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問