React-Material-UI 라디오 버튼 그룹이 클릭시 버튼을 채우지 않습니다.

르네상스

Material-UI 구성 요소를 사용하여 React 에서 앱을 만들고 있습니다. 하나의 창에는 라디오 버튼으로 표시되는 네 가지 참 / 거짓 선택 사항이 있습니다. 렌더링시 창은 예상대로 렌더링되지만 기본값이 아닌 값을 클릭하면 기본 라디오 버튼이 채우기를 잃고 클릭 한 선택 항목을 채우지 않습니다.

예 : User can mint 기본값이 false이면 false렌더링시 채워지지만 true해당 옵션을 클릭하면 채워지지 않습니다 true( false'채워지지 않음 '이됩니다).

그러나 실제 상태는 변경됩니다. 따라서 이것은 상태의 근본적인 문제가 아니라 렌더링 문제인 것 같습니다.

코드는 다음과 같습니다 (불필요한 부분은 제거하겠습니다).

const UpdateDefaultRole = props => {
  const [open, setOpen] = React.useState(false);
  const [canMint, setCanMint] = React.useState(false);
  const [canBurn, setCanBurn] = React.useState(false);
  const [payFee, setPayFee] = React.useState(true);
  const [paySplit, setPaySplit] = React.useState(true);

  const handleMintChange = e => setCanMint(e.target.value);
  const handleBurnChange = e => setCanBurn(e.target.value)
  const handleFeeChange = e => setPayFee(e.target.value)
  const handleSplitChange = e => setPaySplit(e.target.value)

  return (
    <div>
      <Button variant="outlined" color="primary" onClick={handleClickOpen}>
        Update Default Role
      </Button>
      <Dialog open={open} onClose={handleClose} aria-labelledby="form-dialog-title">
        <DialogTitle id="form-dialog-title">Update Default Role</DialogTitle>
        <DialogContent>
          <DialogContentText>
            Please enter the new permissions for the default role.<br/> WARNING: Be careful! 
            Improper use of this function is dangerous!
          </DialogContentText>
          <FormControl component="fieldset" style={{padding: "20px", margin: "10px"}}>
            <FormLabel component="legend">User Can Mint Tokens:</FormLabel>
            <RadioGroup aria-label="mint" name="can-mint" value={canMint} onChange={handleMintChange}>
              <FormControlLabel value={true} control={<Radio />} label="True" />
              <FormControlLabel value={false} control={<Radio />} label="False" />
            </RadioGroup>
          </FormControl>
          <FormControl component="fieldset" style={{padding: "20px", margin: "10px"}}>
            <FormLabel component="legend">User Can Burn Tokens:</FormLabel>
            <RadioGroup aria-label="burn" name="can-burn" value={canBurn} onChange={handleBurnChange}>
              <FormControlLabel value={true} control={<Radio />} label="True" />
              <FormControlLabel value={false} control={<Radio />} label="False" />
            </RadioGroup>
          </FormControl>
          <FormControl component="fieldset" style={{padding: "20px", margin: "10px"}}>
            <FormLabel component="legend">User Must Pay Fee:</FormLabel>
            <RadioGroup aria-label="fee" name="pay-fee" value={payFee} onChange={handleFeeChange}>
              <FormControlLabel value={true} control={<Radio />} label="True" />
              <FormControlLabel value={false} control={<Radio />} label="False" />
            </RadioGroup>
          </FormControl>
          <FormControl component="fieldset" style={{padding: "20px", margin: "10px"}}>
            <FormLabel component="legend">User Must Pay Split:</FormLabel>
            <RadioGroup aria-label="split" name="pay-split" value={paySplit} onChange={handleSplitChange}>
              <FormControlLabel value={true} control={<Radio />} label="True" />
              <FormControlLabel value={false} control={<Radio />} label="False" />
            </RadioGroup>
          </FormControl>
          
        </DialogContent>
        <DialogActions>
          <Button onClick={handleClose} color="primary">
            Cancel
          </Button>
          <Button onClick={submitUpdateDefaultRole} color="primary">
            Submit
          </Button>
        </DialogActions>
      </Dialog>
    </div>
  );
}

가능한 한 충실하게 Material-UI 사이트 의 코드를 따르려고 노력했지만 분명히 어딘가에서 엉망입니다.

제 질문을 읽어 주셔서 감사합니다!

정상의

아마도 그것은 a string가 아니라 a boolean이고 그것이 문제를 일으키는 것입니다. 다음과 같이 시도하십시오.

const handleMintChange = e => setCanMint(e.target.value === 'true');

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

재질 UI 라디오 버튼 그룹이 선택시 변경되지 않음

분류에서Dev

라디오 버튼이 목록에서 클릭시 확인을 표시하지 않습니다.

분류에서Dev

Material UI 라디오 버튼은 reactjs에서 이전 버튼 값을 선택합니다.

분류에서Dev

버튼 클릭시 라디오 값이 변경되면 라디오 버튼 값이 작동하지 않습니다.

분류에서Dev

라디오 버튼 지시문이 ngModel을 바인딩하지 않습니다.

분류에서Dev

jquery 라디오 버튼이 첫 번째 클릭에서 이벤트를 발생시키지 않습니다.

분류에서Dev

버튼을 클릭하면 다른 버튼이 클릭되지 않습니다.

분류에서Dev

HTML / CSS를 클릭 할 때 라디오 버튼이 배경색을 변경하지 않습니다.

분류에서Dev

라디오 버튼 그룹 : 클릭시 다른 그룹 선택 취소

분류에서Dev

단일 클릭을 클릭하지 않는 라디오 버튼

분류에서Dev

Selenium Webdriver : 라디오 버튼을 클릭하면 작동하지 않습니다

분류에서Dev

클릭하면 이미지를 강조 표시 한 다음 라디오 버튼을 확인합니다.

분류에서Dev

jtable의 coloum 내부에 라디오 버튼 그룹이 표시되지 않음

분류에서Dev

React를 클릭하면 라디오 버튼 상태가 유지되지 않습니다.

분류에서Dev

라디오 버튼을 클릭하면 이미지가 표시되지 않음-깨진 자바 스크립트

분류에서Dev

이미지 클릭시 라디오 버튼 선택

분류에서Dev

다른 라디오 버튼을 클릭해도 이미지가 선택 해제되지 않는 라디오 버튼

분류에서Dev

라디오 그룹을 선택하면 버튼이 활성화되지 않습니다.

분류에서Dev

Angular UI Bootstrap 라디오 버튼 클릭

분류에서Dev

다른 라디오 버튼을 클릭했을 때 라디오 버튼의 이미지를 변경하는 방법

분류에서Dev

라디오 버튼이 숨겨져 표시되지 않습니다.

분류에서Dev

확인란과 라디오 버튼이 표시되지 않습니다.

분류에서Dev

클릭하지 않은 라디오 버튼을 어떻게 찾습니까?

분류에서Dev

HTML 라디오 버튼 레이블-Javascript ID로 채우시겠습니까?

분류에서Dev

클릭시 html에 버튼이 나타나지 않습니다.

분류에서Dev

반응 라디오 버튼이 첫 번째 클릭에서 작동하지 않습니다.

분류에서Dev

SVG 원이있는 Material-UI 라디오 버튼

분류에서Dev

내 활동에 두 개의 버튼이 있습니다. 두 버튼을 클릭하면 다른 버튼이 강조 표시되지 않습니다.

분류에서Dev

버튼 모양으로 스타일을 지정하면 라디오 버튼이 작동하지 않습니다.

Related 관련 기사

  1. 1

    재질 UI 라디오 버튼 그룹이 선택시 변경되지 않음

  2. 2

    라디오 버튼이 목록에서 클릭시 확인을 표시하지 않습니다.

  3. 3

    Material UI 라디오 버튼은 reactjs에서 이전 버튼 값을 선택합니다.

  4. 4

    버튼 클릭시 라디오 값이 변경되면 라디오 버튼 값이 작동하지 않습니다.

  5. 5

    라디오 버튼 지시문이 ngModel을 바인딩하지 않습니다.

  6. 6

    jquery 라디오 버튼이 첫 번째 클릭에서 이벤트를 발생시키지 않습니다.

  7. 7

    버튼을 클릭하면 다른 버튼이 클릭되지 않습니다.

  8. 8

    HTML / CSS를 클릭 할 때 라디오 버튼이 배경색을 변경하지 않습니다.

  9. 9

    라디오 버튼 그룹 : 클릭시 다른 그룹 선택 취소

  10. 10

    단일 클릭을 클릭하지 않는 라디오 버튼

  11. 11

    Selenium Webdriver : 라디오 버튼을 클릭하면 작동하지 않습니다

  12. 12

    클릭하면 이미지를 강조 표시 한 다음 라디오 버튼을 확인합니다.

  13. 13

    jtable의 coloum 내부에 라디오 버튼 그룹이 표시되지 않음

  14. 14

    React를 클릭하면 라디오 버튼 상태가 유지되지 않습니다.

  15. 15

    라디오 버튼을 클릭하면 이미지가 표시되지 않음-깨진 자바 스크립트

  16. 16

    이미지 클릭시 라디오 버튼 선택

  17. 17

    다른 라디오 버튼을 클릭해도 이미지가 선택 해제되지 않는 라디오 버튼

  18. 18

    라디오 그룹을 선택하면 버튼이 활성화되지 않습니다.

  19. 19

    Angular UI Bootstrap 라디오 버튼 클릭

  20. 20

    다른 라디오 버튼을 클릭했을 때 라디오 버튼의 이미지를 변경하는 방법

  21. 21

    라디오 버튼이 숨겨져 표시되지 않습니다.

  22. 22

    확인란과 라디오 버튼이 표시되지 않습니다.

  23. 23

    클릭하지 않은 라디오 버튼을 어떻게 찾습니까?

  24. 24

    HTML 라디오 버튼 레이블-Javascript ID로 채우시겠습니까?

  25. 25

    클릭시 html에 버튼이 나타나지 않습니다.

  26. 26

    반응 라디오 버튼이 첫 번째 클릭에서 작동하지 않습니다.

  27. 27

    SVG 원이있는 Material-UI 라디오 버튼

  28. 28

    내 활동에 두 개의 버튼이 있습니다. 두 버튼을 클릭하면 다른 버튼이 강조 표시되지 않습니다.

  29. 29

    버튼 모양으로 스타일을 지정하면 라디오 버튼이 작동하지 않습니다.

뜨겁다태그

보관