我有一个简单的表单,其中包含3个输入:一个用于包裹选择的选择和两个用于参与者和价格的数字输入,我正尝试根据包裹信息计算价格和参与者,但是参与者和价格输入没有更新< / p>
<Select
value={this.state.event.pakage.id}
onChange = {handlePackageChange}
inputProps={{
name: 'evt-pkg',
id: 'evt-pkg',
}}>
{this.state.pkg.map((val, key) => <MenuItem key={key} value={val.id}>{val.name}</MenuItem>)}
</Select>
const handlePackageChange = (event,newValue) => {
let pakage = this.state.pkg.find(p => p.id === event.target.value);
let attendees = pakage.attendees;
let price = pakage.price * attendees;
this.setState(prevState => ({event : {...prevState.event, pakage : {id :newVal}, attendees : attendees, price: price}}))
}
和价格输入
<TextField
id="evt-price"
type="number"
name="evt-price"
onChange = {(event,newValue) => {
var newVal = event.target.value;
this.setState(prevState => ({event : {...prevState.event, price : newVal}}))
/>
.... attendee input
我在控制台中看到事件对象已更新,但输入值未更改