2016-07-01 3 views
0

Я хочу получить доступ к логическому значению дочернего свойства «checked» в ReactJS. Теперь у меня есть следующий метод рендеринга.Как получить доступ к логическому значению свойства ребенка «checked» в ReactJS?

Класс LoginCard.js

render() { 
    return (
     <Card style={styles.card}> 
      <UserIcon/> 
      <UPSection ref="inputs" updateUName={this.updateInputState_Username} updatePWord={this.updateInputState_Password}/> 
      <RememberMe ref="RemMeChk"/> //This conponent containing the checkbox. 
      <LoginBtn onClick={this.handleLoginBtnClicked}/> 
     </Card> 
    ); 
} 

Я хочу, чтобы получить checked булево значение в компоненте RememberMe. Ниже показан способ рендеринга RememberMe.

Класс RememberMe.js

render() { 
    return (
     <div style={styles.div}> 
      <Checkbox ref="rm" label="Remember Me" labelStyle={styles.text} /> 
     </div> 
    ); 
} 

Компонент Checkbox от Material UI и обладает свойством checked. Я пытаюсь использовать var isRemMeChked = ReactDOM.findDOMNode(this.refs.RemMeChk.refs.rm).checked; внутри класса LoginCard для доступа к значению bool, но он не определен. Каков правильный способ доступа к значению bool?

ответ

1

Fetch значение в RememberMe.js

RememberMe.js

getValue() { 
    return this.refs.rm.checked; 
} 
render() { 

    return (
     <div style={styles.div}> 
      <Checkbox ref="rm" label="Remember Me" labelStyle={styles.text} /> 
     </div> 
    ); 
} 

Войти Карточка ПолучитьЗначение() { возвращение this.refs.RemMeChk.getValue() } render() {

return (
     <Card style={styles.card}> 
      <UserIcon/> 
      <UPSection ref="inputs" updateUName={this.updateInputState_Username} updatePWord={this.updateInputState_Password}/> 
      <RememberMe ref="RemMeChk"/> //This conponent containing the checkbox. 
      <LoginBtn onClick={this.handleLoginBtnClicked}/> 
     </Card> 
    ); 
} 
+0

Почему вы можете объявить метод внутри метода render? – Casper

+0

извините его опечатка –

+0

Я протестировал, что метод возвращается правильно, но 'this.refs.rm.checked' является' undefined'. Я также тестировал, чтобы возвращать 'ReactDOM.findDOMNode (this.refs.rm) .checked', но он также« undefined ». Как получить проверенное значение bool в флажке? В документации указано, что существует свойство 'checked'. – Casper

 Смежные вопросы

  • Нет связанных вопросов^_^