Размещение тега под

#react-native #scrollview

#реагировать-родной #scrollview

Вопрос:

Несколько дней назад, работая над приложением для общения в чате, я столкнулся с проблемой, которую не смог решить. Я должен был сохранить ввод текста в режиме прокрутки, но он там не появлялся, вот код :

        <MyStatusbar />
            <MyHeader title = 'Jane Doe' color = '#6a11cb'/>

            <ImageBackground style = {  styles.IMG } source = { images.gradient_1 }>

              <ScrollView>

                <Text style = { styles.disclaimer }>Content is Encrypet as per a private database. Oval Inc Corp will not be held responsile for any leaks within Images.</Text>
    
                {
                  this.state.MessageArray.map((message) => {
                    return(
                      <View key = { message }>
                          <TouchableOpacity 
                           onPress = {() => { 

                          }}
                          >
                              <Text style = { isNaN(message) ? styles.goingMessages : styles.incomingMessages } >{ isNaN(message) ? message : this.state.MessageArray2[message] }</Text>
                          </TouchableOpacity>

                      </View>
                    );
                  })
                }

              </ScrollView>

              <View>
                <TextInput style = { styles.orInput1 } placeholder = 'Type Here...' />
              </View>

            </ImageBackground>
 

Заранее спасибо!

Комментарии:

1. Он появлялся раньше?

2. Вы должны установить flex: 1 в contentContainerStyle

3. Да, он появился, когда я поместил ввод перед ScrollView, и спасибо за гибкость: 1!

Ответ №1:

Это может помочь

 <ImageBackground 
  style={{flex: 1, width: "100%", height: "100%",}} 
  source={images.gradient_1}>
  
  <View style={{ flex: 1 }}>
    <ScrollView>... ...</ScrollView>
  </View>

  <View>
    <TextInput style={styles.orInput1} placeholder="Type Here..." />
  </View>
</ImageBackground>;

const styles = StyleSheet.create({
  backgroundImage: {
    flex: 1,
    width: "100%",
    height: "100%",
  },
});
 

Комментарии:

1. Большое вам спасибо! Ваш код подал мне идею. Когда это не сработало, я пробовал это везде, оказывается, это работает, когда вы применяете его к представлению, где существует ввод текста.

Ответ №2:

Я вижу, что вы написали текст вместо TextInput это ошибка? Если это так, то это просто синтаксическая ошибка, которая сломала ваше приложение