我仍然对本机反应还很陌生,并且在同时使用选择器和文本输入时遇到了问题。
我得到了汽车列表,当我选择了一辆特定的汽车时,在下面的字段中设置了该选定汽车的公里数。
问题在于该字段需要被允许编辑,也就是说,用户希望更改自己可以行驶的汽车的公里数。
但是现在我的输入字段被禁止编辑,我制作了一张gif图像,显示了当我选择一辆汽车并尝试编辑公里数时,它不起作用。
在我的代码下面,我不知道为什么它不能在unsnack.io上运行,所以这就是我将其全部放在这里的原因:
1. inline source maps
2. source map files referenced by a `sourceMappingURL=` comment
3. source map files with the same name (plus .map) in the same directory
此gif具有加速录制功能,但是您可以看到我单击该按钮删除了该数字,但没有任何反应。
答案 0 :(得分:0)
我认为问题在于您在value
上提供了TextInput
。
您可以在此处阅读:https://facebook.github.io/react-native/docs/textinput#value
要为文本输入显示的值。 TextInput是受控的 组件,这意味着本地值将被强制与此匹配 价值道具(如果提供)。对于大多数用途来说,这很好用,但是在某些情况下 可能导致闪烁的情况-一种常见的原因是阻止编辑 通过保持价值不变。除了简单地设置相同 值,或者设置editable = {false},或者设置/更新maxLength以防止 不需要的编辑而不会闪烁。
很抱歉,我无法为您测试,但请尝试设置editable={true}
。如果不起作用,请删除value
并使用另一种通过JavaScript的方法从Picker中获取value
并显示在那里。
答案 1 :(得分:0)
使用以下方式更改您的TextInput
<TextInput
style={styles.input}
value={km_selected}
keyboardType={'numeric'}
placeholder={"0"}
onChangeText={(text) => { this.setState({ km_selected: text }) }}
placeholderTextColor={'#000'}
underlineColorAndroid='transparent'
/>