【Material-UI】FormControlLabel을 사용한 라디오 폼 작성
10482 단어 Reactmaterial-ui
소개
이번에는 React UI 구성 요소 프레임워크의 "Material-UI"를 사용하여 다음과 같은 라디오 양식을 만듭니다.
포인트
마크업 구성
<FormControl>
컴퍼넌트로, Form의 영역을 확보해,<RadioGroup>
컴포넌트로 래핑된 항목 목록( <Radio>
컴포넌트)을 배치합니다.
이번에는 레이블을 <FormControlLabel>
구성 요소를 사용합니다.
다음 구성입니다.
return (
<FormControl>
{/* グループにラベル */}
<FormLabel />
{/* ラジオグループ */}
<RadioGroup>
{/* リスト */}
<FormControlLabel>
<Radio />
</FormControlLabel>
...
</RadioGroup>
</FormControl>
)
소스 코드
각각이 선택되었을 경우의 처리를 추가해 완성입니다.
import React from "react";
import Radio from "@material-ui/core/Radio";
import RadioGroup from "@material-ui/core/RadioGroup";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import FormControl from "@material-ui/core/FormControl";
import FormLabel from "@material-ui/core/FormLabel";
import { makeStyles } from "@material-ui/core/styles";
import "./styles.css";
export default function App() {
const [value, setValue] = React.useState("React");
const classes = styles();
const handleChange = event => {
// クリックされたら、valueの値をsetします。
setValue(event.target.value);
};
return (
<div className="App">
<FormControl component="label">
<FormLabel component="label">JavaScript framework</FormLabel>
<RadioGroup
name="JavaScript framework"
value={value}
onChange={handleChange}
>
<FormControlLabel
value="React"
control={<Radio />}
label="React"
/>
<FormControlLabel
value="Vue.js"
control={<Radio />}
label="Vue.js"
/>
<FormControlLabel
value="AngularJS"
control={<Radio />}
label="AngularJS"
/>
<FormControlLabel
value="jQuery"
disabled
control={<Radio />}
label="jQuery"
/>
</RadioGroup>
</FormControl>
</div>
);
}
라벨의 글꼴 크기를 변경하고 싶습니다.
Material-UI의 기본 디자인으로 사용할 수 있으면 위에서 좋지만,
좀처럼 디자인 괴롭히지 않고 사용할 수 있으면 기회는 적을까 생각합니다.
이번에는 라벨의 글꼴 크기를 변경해 보겠습니다.
FormControlLabel의 구조 정보
<FromControlLabel>
컴퍼넌트는, 크고, control property로 지정한 엘리먼트 ( Radio
・ Switch
・ Checkbox
)와 「라벨」의 2개로 구성되어 있습니다.
공식 참조에 따르면 라벨의 기본 스타일은 Typography 스타일이 맞는 것 같습니다.
Styles applied to the label's Typography component.
label 속성에 요소를 적용하여 덮어쓰기
텍스트로 그대로 보내지 않고,.
<FormControlLabel
value="React"
control={<Radio />}
label={<span className={classes.labelRoot}>React</span>}
/>
소개한 내용의 Sandbox
Reference
이 문제에 관하여(【Material-UI】FormControlLabel을 사용한 라디오 폼 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mineyuji/items/b12aba85543f166e321b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
return (
<FormControl>
{/* グループにラベル */}
<FormLabel />
{/* ラジオグループ */}
<RadioGroup>
{/* リスト */}
<FormControlLabel>
<Radio />
</FormControlLabel>
...
</RadioGroup>
</FormControl>
)
각각이 선택되었을 경우의 처리를 추가해 완성입니다.
import React from "react";
import Radio from "@material-ui/core/Radio";
import RadioGroup from "@material-ui/core/RadioGroup";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import FormControl from "@material-ui/core/FormControl";
import FormLabel from "@material-ui/core/FormLabel";
import { makeStyles } from "@material-ui/core/styles";
import "./styles.css";
export default function App() {
const [value, setValue] = React.useState("React");
const classes = styles();
const handleChange = event => {
// クリックされたら、valueの値をsetします。
setValue(event.target.value);
};
return (
<div className="App">
<FormControl component="label">
<FormLabel component="label">JavaScript framework</FormLabel>
<RadioGroup
name="JavaScript framework"
value={value}
onChange={handleChange}
>
<FormControlLabel
value="React"
control={<Radio />}
label="React"
/>
<FormControlLabel
value="Vue.js"
control={<Radio />}
label="Vue.js"
/>
<FormControlLabel
value="AngularJS"
control={<Radio />}
label="AngularJS"
/>
<FormControlLabel
value="jQuery"
disabled
control={<Radio />}
label="jQuery"
/>
</RadioGroup>
</FormControl>
</div>
);
}
라벨의 글꼴 크기를 변경하고 싶습니다.
Material-UI의 기본 디자인으로 사용할 수 있으면 위에서 좋지만,
좀처럼 디자인 괴롭히지 않고 사용할 수 있으면 기회는 적을까 생각합니다.
이번에는 라벨의 글꼴 크기를 변경해 보겠습니다.
FormControlLabel의 구조 정보
<FromControlLabel>
컴퍼넌트는, 크고, control property로 지정한 엘리먼트 ( Radio
・ Switch
・ Checkbox
)와 「라벨」의 2개로 구성되어 있습니다.
공식 참조에 따르면 라벨의 기본 스타일은 Typography 스타일이 맞는 것 같습니다.
Styles applied to the label's Typography component.
label 속성에 요소를 적용하여 덮어쓰기
텍스트로 그대로 보내지 않고,.
<FormControlLabel
value="React"
control={<Radio />}
label={<span className={classes.labelRoot}>React</span>}
/>
소개한 내용의 Sandbox
Reference
이 문제에 관하여(【Material-UI】FormControlLabel을 사용한 라디오 폼 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mineyuji/items/b12aba85543f166e321b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<FormControlLabel
value="React"
control={<Radio />}
label={<span className={classes.labelRoot}>React</span>}
/>
Reference
이 문제에 관하여(【Material-UI】FormControlLabel을 사용한 라디오 폼 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mineyuji/items/b12aba85543f166e321b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)