Javascript 如何使react处理程序为多个值工作?
我有一个处理程序,它不是我想要的那样工作。。。我需要能够更改许多项目的“数量”值。现在,使用我的处理程序,如果我尝试使用多个项目,它们将使用最后输入的值进行更新。因此,我必须有一种方法来输入多个值并以不同方式更新项目。。以下是我迄今为止所做的:Javascript 如何使react处理程序为多个值工作?,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我有一个处理程序,它不是我想要的那样工作。。。我需要能够更改许多项目的“数量”值。现在,使用我的处理程序,如果我尝试使用多个项目,它们将使用最后输入的值进行更新。因此,我必须有一种方法来输入多个值并以不同方式更新项目。。以下是我迄今为止所做的: this.state.purchase.selected.map(项目=>{ 返回( ) }) this.handleSelectedItemChange=this.handleSelectedItemChange.bind(this) handle
this.state.purchase.selected.map(项目=>{
返回(
)
})
this.handleSelectedItemChange=this.handleSelectedItemChange.bind(this)
handleSelectedItemChange(事件){
让query=Object.assign({},this.state.purchase);
query.selected.map(项=>{
item.quantity=event.target.value
})
this.setState({purchase:query})
}
如果我理解正确,您需要一种方法来与多个组件共享您的onChange
函数,并设计一种方法来区分调用方
您只需将项
传递到onChange
,并使用其值确定调用者并执行您想要的任何操作
这可以通过以下方式实现:
this.state.purchase.selected.map(item => {
return (
<Grid item xs={4}>
<OrderItemsCard
item={item}
onChange={(event) => this.handleSelectedItemChange(item, event)}
/>
</Grid>
);
})
handleSelectedItemChange(item, event) {
// ...
}
this.state.purchase.selected.map(项目=>{
报税表(
this.handleSelectedItemChange(项,事件)}
/>
);
})
handleSelectedItemChange(项目、事件){
// ...
}
Simular问题在此之前已得到回答。检查:我一直在寻找的答案。顺便问一下,有没有办法防止数值实时变化?因为我也在显示初始值。我不确定“实时更改”是什么意思。也许您正在寻找节流
或去抖动
。通读这篇文章,看看它是否有帮助: