在其他输入更改上更新输入-反应

时间:2019-12-04 07:21:49

标签: reactjs

我有一个简单的表单,其中包含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

我在控制台中看到事件对象已更新,但输入值未更改

0 个答案:

没有答案