2017-08-15 96 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()函數在其他位置處理您的鍵盤狀態。