@qwexort

Как сделать фильтр по нажатию кнопки на реакт?

Не могу сделать фильтрацию по нажатии кнопок с именами,при том что фильтр по поиску работает.
class Change extends Component{
constructor(props){
    super(props);
    this.state={
        data:[
            {name:'max'},
            {name:'vlad'},
            {name:'olga'}
        ],
        term: "",
        filtered:[
           
         ]
        
    }
}

}
commitInputChanges = (e) => {
    this.setState({ term: e.target.value });
  };

render(){
    const {data,term} = this.state;
    
    return(
        <div className="sss">
       
          <ButtonGroup aria-label='Basic example'>
         
              <Button variant='secondary' >Max</Button>
              <Button variant='secondary' >Vlad</Button>
              <Button variant='secondary' >Olga</Button>
          </ButtonGroup>
            <span> Введите имя ○ </span>
            <input type="text" onChange={this.commitInputChanges}  />
            {data.filter((item)=>{
                 if (term == '') {
                     return item
                 } else if (item.name.toLocaleLowerCase().includes(term.toLowerCase())){
                     return item
                 }
                
            }).map((item,key)=>{
               return(
                   <div key={key} className="users"> 
                    <p>{item.name}</p>
                 </div>
               )
                
            })}
        </div>
    )
}
}
  • Вопрос задан
  • 265 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы