Javascript 如何使用reactjs使用相同的输入框存储不同的值?
我试图使用相同的输入框输入不同的值,因此每次输入值时,我都应该存储值并向用户显示。Javascript 如何使用reactjs使用相同的输入框存储不同的值?,javascript,reactjs,Javascript,Reactjs,我试图使用相同的输入框输入不同的值,因此每次输入值时,我都应该存储值并向用户显示。this.addPrice('input1',e.target.value)}/> 这是放置在模式内的,因此每当模式弹出窗口打开时,use将输入值。为了使用同一输入框向单个数组添加值,用户很可能需要执行辅助操作(如按下按钮),以指示何时存储当前值 state = { currentValue: '', prices: [], } onChange = (event) => { this.setS
this.addPrice('input1',e.target.value)}/>
这是放置在模式内的,因此每当模式弹出窗口打开时,use将输入值。为了使用同一输入框向单个数组添加值,用户很可能需要执行辅助操作(如按下按钮),以指示何时存储当前值
state = {
currentValue: '',
prices: [],
}
onChange = (event) => {
this.setState({ currentValue: event.target.value })
}
addPrice = () => {
this.setState(prevState => ({
prices: [...prevState.prices, this.state.currentValue]
}))
}
...
<input type='text' onChange={this.onChange} value={this.state.currentValue} />
<button onClick={this.addPrice}>Add Price</button>
你能添加一些代码使问题更清楚吗?现在它说你使用的是同一个输入框。但是没有提到显示您在哪里使用它的代码。用户是否按下按钮(或执行另一个操作)来存储该值?当前,
onChange
中的this.addPrice
将为添加到inputaddPrice=(输入,值)=>{this.setState({amount:value})的每个字符触发如何存储在同一数组中输入的不同值,或者如何区分这些值再次打开输入框时,将显示以前的值,因为我们使用的是value={this.state.currentValue}您可以添加一个方法,在打开或关闭输入框时清除currentValue
。说得好,还有一个问题,在存储到类似[key:'',value:''的数组中时,我可以为该值设置任何键吗?您可以在数组中存储您想要的任何内容,但听起来像是要存储对象。我将更新答案以解决这个问题。
addPrice = () => {
this.setState(prevState => ({
prices: [...prevState.prices, {amount: this.state.currentValue}]
}))
}