React Native Grid со сбоями Webview - PullRequest
       95

React Native Grid со сбоями Webview

0 голосов
/ 28 сентября 2019

Я использую Grid с видом фиксированной высоты 150 и строку с остальной высотой. В представлении я показываю ввод текста, а в строке я показываю веб-просмотр. Когда я касаюсь ввода, открывается клавиатура иесли я нажимаю кнопку «назад», приложение вылетает

Если я удаляю веб-просмотр и делаю то же самое, приложение не вылетает

<Grid>
  <View style={styles.screenView}>
    <ImageBackground
      source={size(course.image_url) > 0 ? { uri: course.image_url } : logo}
      resizeMode="cover"
      style={styles.imageBackground}
    >
      ......
    </ImageBackground>
  </View>
  <View style={styles.screenView}>
    <View style={styles.container}>
      <TextInput
        style={styles.reviewInput}
        onChangeText={addReview.bind(props)}
        placeholder="Your reviews about the course"
        value={review}
        multiline={true}
      />
    </View>
    <LoadingButton
      isLoading={isLoading}
      isFormDirty={size(review) > 0 ? false : true}
      loadingText="Saving"
      text="Save Review"
      block={true}
      color={Color.primaryText}
      loaderColor="#FFFFFF"
      textColor={styles.lightText}
      style={styles.reviewButton}
      onPress={saveReview.bind(props)}
    />
  </View>
  <Row>
    <View style={styles.scroller}>
      <WebView originWhitelist={['*']} source={{ html: courseDescription }} />
    </View>
  </Row>
</Grid>

Стили для веб-просмотра:

scroller: {
    flex: 1,
    overflow: 'hidden',
  },

enter image description here

1 Ответ

0 голосов
/ 29 сентября 2019

В вашем коде есть только одна Row область.Это все значит.Вы должны отметить область отдельно.

<Grid>
    <Row size={9}>
     <View> 
       ...
    </Row>
    <Row size={1}>
     <View style={styles.scroller}>
      <WebView originWhitelist={['*']} source={{ html: courseDescription }} />
    </View>
    </Row>
</Grid>
...