この記事はこんな人におすすめ
- MUI における TextField で、テキスト以外にもパスワードや数値の入力をしたい
公式サイトの情報はコチラ。
必須入力用の TextField を作成する
必須入力用の TextField を作成するには、以下書式の通り required 属性を付けます。
<TextField label="ラベル文字列" variant="スタイルを表す文字列" required/>
以下に必須入力用の TextFIeld を作成する例を示します。
import { Stack, TextField } from '@mui/material';
export default function TextFieldSample2() {
return (
<Stack spacing={2} direction="row">
{/* 必須入力 の例 */}
<TextField label="必須入力" variant="outlined" required/>
<TextField label="必須入力" variant="filled" required/>
<TextField label="必須入力" variant="standard" required/>
</Stack>
);
}
非活性の TextField を作成する
TextField を非活性にしたい場合は、以下書式の通りdisabled 属性を付けます。
<TextField label="ラベル文字列" variant="スタイルを表す文字列" disabled/>
以下に非活性の TextFIeld を作成する例を示します。
import { Stack, TextField } from '@mui/material';
export default function TextFieldSample2() {
return (
<Stack spacing={2} direction="row">
{/* 非活性化 の例 */}
<TextField label="非活性化" variant="outlined" disabled/>
<TextField label="非活性化" variant="filled" disabled/>
<TextField label="非活性化" variant="standard" disabled/>
</Stack>
);
}
パスワード入力用の TextField を作成する
パスワード入力用の TextField を作成したい場合は、以下書式の通りtype 属性に “password” を設定します。
<TextField label="ラベル文字列" variant="スタイルを表す文字列" type="password"/>
以下にパスワード入力用の TextFIeld を作成する例を示します。
import { Stack, TextField } from '@mui/material';
export default function TextFieldSample2() {
return (
<Stack spacing={2} direction="row">
{/* パスワード の例 */}
<TextField label="パスワード" variant="outlined" type="password" />
<TextField label="パスワード" variant="filled" type="password"/>
<TextField label="パスワード" variant="standard" type="password"/>
</Stack>
);
}
読み取り専用の TextField を作成する
読み取り専用の TextField を作成したい場合は、以下書式の通り InputProps={{readOnly: true,}} を設定します。
<TextField label="ラベル文字列" variant="スタイルを表す文字列" InputProps={{readOnly: true,}}/>
以下に読み取り専用の TextFIeld を作成する例を示します。
import { Stack, TextField } from '@mui/material';
export default function TextFieldSample2() {
return (
<Stack spacing={2} direction="row">
{/* 読み取り専用 の例 */}
<TextField label="読み取り専用" variant="outlined" InputProps={{readOnly: true,}}/>
<TextField label="読み取り専用" variant="filled" InputProps={{readOnly: true,}}/>
<TextField label="読み取り専用" variant="standard" InputProps={{readOnly: true,}}/>
</Stack>
);
}
数値入力専用の TextField を作成する
数値入力用の TextField を作成したい場合は、以下書式の通りtype 属性に “number” を設定します。
<TextField label="ラベル文字列" variant="スタイルを表す文字列" type="number"/>
以下に数値入力用の TextFIeld を作成する例を示します。
import { Stack, TextField } from '@mui/material';
export default function TextFieldSample2() {
return (
<Stack spacing={2} direction="row">
{/* 数値 の例 */}
<TextField label="数値" variant="outlined" type="number"/>
<TextField label="数値" variant="filled" type="number"/>
<TextField label="数値" variant="standard" type="number"/>
</Stack>
);
}
検索文字列入力専用の TextField を作成する
検索文字列入力用の TextField を作成したい場合は、以下書式の通りtype 属性に “search” を設定します。検索文字列入力用の TextField は入力したテキストを消せるように[X]が表示されます。
<TextField label="ラベル文字列" variant="スタイルを表す文字列" type="search"/>
以下に検索文字列入力用の TextFIeld を作成する例を示します。
import { Stack, TextField } from '@mui/material';
export default function TextFieldSample2() {
return (
<Stack spacing={2} direction="row">
{/* 検索 の例 */}
<TextField id="outlined-basic" label="検索" variant="outlined" type="search"/>
<TextField id="filled-basic" label="検索" variant="filled" type="search"/>
<TextField id="standard-basic" label="検索" variant="standard" type="search"/>
</Stack>
);
}
ヘルパーテキストを表示する TextField を作成する
ヘルパーテキストというのは、TextField に何を入力したらよいのかという、ちょっとした説明用のテキストのことです。通常 TextField の下に表示されます。
ヘルパーテキストを表示する TextField を作成したい場合は、以下書式の通りhelperText 属性に説明用の文字列を記述します。
<TextField label="ラベル文字列" variant="スタイルを表す文字列" helperText="説明文字列"/>
以下にヘルパーテキストを表示する TextFIeld を作成する例を示します。
import { Stack, TextField } from '@mui/material';
export default function TextFieldSample2() {
return (
<Stack spacing={2} direction="row">
{/* ヘルパーテキスト の例 */}
<TextField id="outlined-basic" label="ヘルパーテキスト" variant="outlined" helperText="8文字以内で入力"/>
<TextField id="filled-basic" label="ヘルパーテキスト" variant="filled" helperText="8文字以内で入力"/>
<TextField id="standard-basic" label="ヘルパーテキスト" variant="standard" helperText="8文字以内で入力"/>
</Stack>
);
}










コメント