React:实现对每个person的event控制

本文详细介绍了在React应用中如何使用findIndex方法定位数组中特定元素的位置,并更新该元素的状态。通过具体代码示例,展示了如何在组件内部监听输入事件,从而动态更新组件的状态,实现UI的实时响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

find & findindex

  nameChangedHandler = (event,id)=>{
    const personIndex = this.state.persons.findIndex(p=>p.id===id);
    const person = {
      ...this.state.persons[personIndex]
    };
    person.name=event.target.value;
    const persons=[...this.state.persons];
    persons[personIndex]=person;
    this.setState({persons:persons});
  }

person中加入changed并传入id

  if(this.state.isshow){
    person=(
      <div>
        {
          this.state.persons.map((person,index)=>{
            return <Person 
                    name={person.name}
                    age={person.age}
                    click={this.deletePersonHandler.bind(this,index)}
                    key={person.id}
                    changed={(event)=>this.nameChangedHandler(event,person.id)}
                    />
          })
        }
      </div>
    );
  }else{
    person=null;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值