Ich habe eine kleine Frage. Ich habe eine geschachtelte Tabelle. Der erste Eintrag in dieser Tabelle sollte entfernt werden. Alles ist soweit in Ordnung. Aber wie kann ich die Schaltfläche "Benutzer entfernen" nur für die ersten Elemente anzeigen?Wie kann ich die Schaltfläche nur im übergeordneten Element anzeigen?
class UserList extends Component {
constructor(props) {
super(props);
this.state = {
openDetail: false
}
}
parentUserToggle (item, index) {
this.setState({
openDetail: !this.state.openDetail
})
}
render() {
const { userProfile, index } = this.props;
let parentUserItem = null;
if (userProfile.children instanceof Object) {
parentUserItem = userProfile.children.map((children, index) => {
return <UserList key={children.ID} index={index} userProfile={children} />
});
}
return (
<div className="table-row" key={index}>
<div className="col-md-1">
{
userProfile.children ?
<button
className="btn btn-primary"
onClick={this.parentUserToggle.bind(this, userProfile.children)}
>
{ !this.state.openDetail ? 'OPEN' : 'CLOSE' }
</button>
: null
}
</div>
<div className="col-md-3">{userProfile.Name}</div>
<div className="col-md-3">{userProfile.City}</div>
<div className="col-md-3">{userProfile.Phone}</div>
<div className="col-md-2">
{
userProfile || !parentUserItem ?
<button
className="btn btn-danger"
onClick={this.props.removeUser}
> Remove User </button>
: null
}
</div>
<div className={this.state.openDetail ? 'table-true' : 'table-false'}>
{
parentUserItem
}
</div>
</div>
);
}
}
Dank für die Unterstützung.
Ihr Code funktioniert nicht –
Sie den Index, ob das das erste Element zu überprüfen, verwenden können. Wenn der Index 0 ist, können Sie die Schaltfläche zum Entfernen aktivieren. –
Ja, dieses Code-Schnipsel ist nicht voll. –