1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| import React, { Component } from 'react'; import './App.css'; import Person from './Person/Person';
class App extends Component { state = { user:[{id:1,name:"张三",age: "21"}, {id:2,name:"李四",age: "22"}, {id:3,name:"王二麻子",age: "23"}], showhide: false, }
toggle = () =>{ this.setState({ showhide: !this.state.showhide }); }
changeAge = (event,id) =>{ const personIndex = this.state.user.findIndex(p=> { return id===p.id }) const person = {...this.state.user[personIndex]}; person.age = event.target.value; const persons = [...this.state.user]; persons[personIndex] = person; this.setState({ user: persons }); }
render() { let person = null; if( this.state.showhide ){ person = ( <div>
{ this.state.user.map((person,index) => { return <Person name={person.name} age={person.age} key={person.id} changeAge={(event)=>this.changeAge(event,person.id)}> </Person> })
} </div> ) }
return ( <div className="App"> <button onClick={this.toggle}>切换</button> {person} </div> ); } }
export default App;
|