簡體   English   中英

如何識別選擇的單選按鈕值 React Native?

[英]How to identify chosen radio button value React Native?

我希望控制台為不同的單選按鈕打印一個獨特的文本。 例如,如果用戶選擇值為 label1 的單選按鈕,則控制台應打印“您選擇了 label1”。 該文件包含三個單選按鈕及其來自不同文件的值。 當按下按鈕時,我將用戶選擇保存在異步存儲中。 這是我的文件:

import RadioButtonRN from 'radio-buttons-react-native';
import AsyncStorage from '@react-native-async-storage/async-storage';
import {Questions} from '../questions/questions_user'

export const ScreenOne = ({ }) => {
  const navigation = useNavigation();

  const question3 = Questions[2].question;
  const label1 = Questions[2].answers[0].answer;
  const label2 = Questions[2].answers[1].answer;
  const label3 = Questions[2].answers[2].answer;

  const [radioBtn, setSelectedRadioBtn] = useState('')

  const saveValue = () => {
    if (radioBtn) {
      AsyncStorage.setItem('radioValue', JSON.stringify(radioBtn))
      setSelectedRadioBtn('');
    } 
  }

  const data = [
    {
      label: label1
    },
    {
      label: label2
    },
    {
      label: label3
    }
  ];

  return (
    <ScreenContainer>
        <RadioButtonRN
          data={data}
          selectedBtn={(e) => setSelectedRadioBtn(e)}
          box={false}
          circleSize={14}
          activeColor={'#6175CF'}
          style={styles.radio}
        />
      </InputArea>
          <Button onPress={saveValue} />
    </ScreenContainer>
  )
}

export default ScreenOne


import AsyncStorage from '@react-native-async-storage/async-storage';
import {Questions} from '../questions/questions_user'

export const ScreenOne = ({ }) => {
  const navigation = useNavigation();

  const question3 = Questions[2].question;
  const label1 = Questions[2].answers[0].answer;
  const label2 = Questions[2].answers[1].answer;
  const label3 = Questions[2].answers[2].answer;

  const [radioBtn, setSelectedRadioBtn] = useState('')

  const saveValue = () => {
    if (radioBtn) {
      AsyncStorage.setItem('radioValue', JSON.stringify(radioBtn))
      setSelectedRadioBtn('');
    } 
  }

  const data = [
    {
      label: label1
    },
    {
      label: label2
    },
    {
      label: label3
    }
  ];

  return (
    <ScreenContainer>
        <RadioButtonRN
          data={data}
          selectedBtn={(e) => setSelectedRadioBtn(e)}
          box={false}
          circleSize={14}
          activeColor={'#6175CF'}
          style={styles.radio}
        />
      </InputArea>
          <Button onPress={saveValue} />

       <Text>{radioBtn.label}</Text>

    </ScreenContainer>
  )
}

export default ScreenOne;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM