我在5页中有40个TextInput,需要更改输入文本的颜色onfocus:'white'和onBlur:'gray'我知道如何使它成为单输入,但是我需要多输入
<TextInput
clearTextOnFocus={true}
keyboardType="number-pad"
style={[this.state.isFocused?styles.inputOnFocus:styles.input]}
onChangeText={v=>handleInput('value',v)}
value={this.state.value}
onFocus={()=>this.setState({isFocused:true})}
onBlur={()=>this.setState({isFocused:false})}
/>
您可以简单地为每个输入提供一个ID,并使用该ID来知道哪个ID是重点:
<TextInput
clearTextOnFocus={true}
keyboardType="number-pad"
style={[this.state.FocusedItem === "TextInput1"? styles.inputOnFocus : styles.input]}
onChangeText={v=>handleInput('value',v)}
value={this.state.value}
onFocus={()=>this.setState({FocusedItem: "TextInput1"})}
onBlur={()=>this.setState({FocusedItem: ""})}
/>
在一个.map()
函数中,它可能像:
arr.map( (item, index) => {
let ID = "TextInput"+index
return (
<TextInput
clearTextOnFocus={true}
keyboardType="number-pad"
style={[this.state.FocusedItem === ID? styles.inputOnFocus : styles.input]}
onChangeText={v=>handleInput('value',v)}
value={this.state.value}
onFocus={()=>this.setState({FocusedItem: ID})}
onBlur={()=>this.setState({FocusedItem: ""})}
/>
)
})
这只是出于重点目的。如果代码保持这样,则所有输入将具有相同的值
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句