Возврат HTML из функции реагирования - PullRequest
0 голосов
/ 09 апреля 2020

Я новичок в reactJs Я хочу вернуть HTML код из функции

changeValue= (e) =>{
    if(e.target.value=="Albania"){
        return(
            <select>
                <option>1</option>
                <option>2</option>
            </select>
        )
    }
}

render (){

        return(

               <select onChange= {this.changeValue}>
                   {country}
               </select>


        )
    }
}

, когда я изменяю опцию выбора на Албанию, опции 1,2 не отображаются

спасибо.

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Вы можете установить его в переменную и отобразить ее как {country} что-то вроде ниже;

const selectOption1_2 =null;
changeValue= (e) =>{
    if(e.target.value=="Albania"){
        selectOption1_2 = (
            <select>
                <option>1</option>
                <option>2</option>
            </select>
        )
    }
    else
        selectOption1_2 = null;

}

render (){

        return(

               <select onChange= {this.changeValue}>
                   {country}
               </select>
               {selectOption1_2}


        )
    }
}

лучше поставить selectOption1_2 в состояние tho.

0 голосов
/ 09 апреля 2020

Вы можете использовать State для этого.

constructor() {
    this.state = {options: countries};  
}

changeValue = (e) => {
    e.persist();
    if(e.target.value=="Albania"){
        this.setState({options: <><option>1</option><option>2</option></>});
    }
}

render () {
    return (
         <select onChange= {this.changeValue}>
             {this.state.options}
         </select>
    )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...