Reactjs 更新其他输入更改的输入-反应
我有一个简单的表单,有3个输入:一个用于选择套餐的选择,两个用于与会者和价格的数字输入,我试图根据套餐信息计算价格和与会者,但与会者和价格输入不会更新Reactjs 更新其他输入更改的输入-反应,reactjs,Reactjs,我有一个简单的表单,有3个输入:一个用于选择套餐的选择,两个用于与会者和价格的数字输入,我试图根据套餐信息计算价格和与会者,但与会者和价格输入不会更新 <Select value={this.state.event.pakage.id} onChange = {handlePackageChange} inputProps={{ name: 'evt-pkg', id: 'evt-pkg', }}> {this.state.pkg.map(
<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}}))
}
{this.state.pkg.map((val,key)=>{val.name}
const handlePackageChange=(事件,newValue)=>{
让pakage=this.state.pkg.find(p=>p.id==event.target.value);
让与会者=pakage.attendes;
让价格=pakage.price*与会者;
this.setState(prevState=>({event:{…prevState.event,pacage:{id:newVal},attendes:attendes,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
{
var newVal=event.target.value;
this.setState(prevState=>({event:{…prevState.event,price:newVal}}))
/>
..与会者输入
我在控制台中看到事件对象已更新,但输入值没有更改您没有将值分配给TextField组件。Try value={this.state.price}pfff…我尝试使用defaultValue属性而不是值。它正在工作,谢谢您不应该对受控输入字段使用defaultValue。您没有将值分配给TextField组件。Try value={this.state.price}pfff…我尝试使用defaultValue属性而不是值。它可以工作,谢谢您不应该对受控输入字段使用defaultValue。