Ich versuche, meine Todolist basierend auf dem Filter anzuzeigen, den der Benutzer wählt. im Moment habe ich den Code für die Darstellung nur ausgefüllt geschrieben. aber es funktioniert nicht.Anzeigen von Daten basierend auf Filter - reagieren Todo-Liste
Bitte schauen und sagen, warum es nicht funktioniert
import React,{Component} from 'react';
import './reminderListStyles.css';
import Filters from './Filters';
class ReminderList extends Component{
constructor(){
super();
this.state={
filter:"completed"
}
this.getFilter=this.getFilter.bind(this);
}
getFilter(x){
this.setState({
filter:x
});
//alert(x);
}
render(){
return(
<div>
<ul>
{this.props.reminder.map((item)=>{
if(this.state.filter==='show_completed'){
if( item.completed){
return <li key={item.id}
style={{textDecoration: item.completed? 'line-through':'none'}}
onClick = {()=>{this.props.onToggle(item.id)}} >
< input type="checkbox" checked={item.completed} />{item.text}</li>
}
}
return <li key={item.id}
style={{textDecoration: item.completed? 'line-through':'none'}}
onClick = {()=>{this.props.onToggle(item.id)}} >
< input type="checkbox" checked={item.completed} />{item.text}</li>
})}
</ul>
<Filters reminders={this.props.reminder}
filterState={this.getFilter}
/>
</div>
)
}
}
export default ReminderList;
Was bedeuten Sie durch nicht funktioniert, was ist das Problem, auch der Zustand ist auf "abgeschlossen" eingestellt und Sie vergleichen mit "show_completed". wie erwartest du, dass es richtig funktioniert –
ah, ja! Der Anfangszustand wird auf "abgeschlossen" gesetzt. Lassen Sie mich das ändern. aber der Grund, warum ich sage, dass es nicht funktioniert ist, dass es immer noch abgeschlossen und nicht beide abgeschlossen angezeigt wird. , auch wenn ich auf vollständige klicken – faraz