React-Native填坑之TextInput value属性
发布时间:2020-12-15 07:39:32 所属栏目:百科 来源:网络整理
导读:TextInput用法就不多讲了,主要记录下遇到的一个怪问题。 背景:项目需要开发一个充值页面,需要一个输入框,然后几个按钮,输入框是允许用户自己输入任意金额,按钮是可以让用户快捷选择金额。 那么问题来了,一般来说是改变文本框的值就可以了。 比如这样
TextInput用法就不多讲了,主要记录下遇到的一个怪问题。
背景:项目需要开发一个充值页面,需要一个输入框,然后几个按钮,输入框是允许用户自己输入任意金额,按钮是可以让用户快捷选择金额。
那么问题来了,一般来说是改变文本框的值就可以了。
比如这样
<TextInput placeholderTextColor='#cccccc' underlineColorAndroid='transparent' keyboardType={'numeric'} style={styles.inputStyle} value ={this.state.money} onChangeText={(text)=>this.changeMoney(text)} />
然后在其他需要改变value值的地方,这样写
但是,但是,但是,重点来了,它根本不让你输入,光标一直闪烁。 看了文档,给的解释是: TextInput是一个受约束的(Controlled)的组件,意味着如果提供了value属性,原生值会被强制与value属性保持一致。在大部分情况下这都工作的很好,
不过有些情况下会导致一些闪烁现象——一个常见的原因就是通过不改变value来阻止用户进行编辑。如果你希望阻止用户输入,
可以考虑设置editable={false};如果你是希望限制输入的长度,可以考虑设置maxLength属性,这两个属性都不会导致闪烁。 然而加上没有什么卵用。 无奈只有再去找看看有没有什么可用的属性,没想到被我找到了,激动的要写一篇文章来记录下。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |