2017-08-15 95 views
0

Here is my phone screen我试过ScrollView与keyboardShouldPersistTaps,但它没有奏效。我有一个用于自动填充建议的ScrollView,当用户可以在那里键入时,他也应该从建议中进行选择。但是,没有关闭键盘,在我的情况下是不可能的。这里是我的工作React Native,我无法点击没有关闭键盘

 <ScrollView 
       scrollEnabled={false} 
       keyboardShouldPersistTaps={true}> 

      <View style={{ maxHeight: 220 }}> 
       <ScrollView style={Style.suggestionContainer} 
         scrollEnabled={true} >   

         {this.state.showOptions.map(this.renderSuggestions)} 
       </ScrollView> 
      </View> 
     </ScrollView> 
     . 
     . 
     . 


     private renderSuggestions(option: MultiInputQuestionOption) { 
      return (
      <TouchableOpacity onPress={this.addSelection.bind(this, option)} > 
       <Text style={Style.suggestions}> 
        {option[this.props.titleKey]} 
       </Text> 
      </TouchableOpacity > 
      ) 
     } 

有什么可能的解决办法吗?

+0

为什么你有两个滚动视图组件?尝试只用一个 – Raymond

+0

这个bug有什么好运气? – nikasv

回答

0

尝试向第二个ScrollView添加 keyboardShouldPersistTaps={'always'}

+0

感谢您的回答,但是,我试过它没有工作 – EmreG

+0

您可以上传屏幕截图,以便我更好地了解您想要达到的目标吗? –

+0

我编辑了我的问题并在那里添加了屏幕截图。我有一个自动完成组件。在我的核心屏幕上,顶部有一个按钮。如果按下该按钮,则Modal打开,您可以看到该屏幕。在模态中,您可以在TextInput组件中编写。在打字后,您可以在文字输入下方看到并选择一个建议。 我想选择建议而不关闭键盘。当我点击TouchableOpacitied文字时,键盘应该停留在那里。 – EmreG

0

使用keyboardShouldPersistTaps属性的'handled'值,因为不推荐使用true值。在两个ScrollView s中使用keyboardShouldPersistTaps,并通过使用Keyboard.dismiss()函数在其他位置处理您的键盘状态。