TextInput не работает должным образом при программном вводе текста

Приведенный ниже код не работает должным образом в iOS (iPhone 6). Когда я нажимаю «Push Me», слово отображается не полностью, и курсор также не отображается. При дальнейшем исследовании я обнаружил, что изменение onChangeText и onContentSize не запускается. Нажатие любой клавиши на клавиатуре после нажатия кнопки «Push Me» отображает слово полностью. Я хочу, чтобы при нажатии кнопки отображалось полное слово. Это работает, если я использую свойство value для обновления TextInput. Но мне нужно отобразить форматированный текст, как в «TokenizedTextExample» по этой ссылке: https://facebook.github.io/react-native/docs/textinput.html

import React, { Component } from 'react';
import {
  AppRegistry,
  TouchableOpacity,
  TextInput,
  Text,
  View
} from 'react-native';

export default class keypost extends Component {
  constructor(props) {
    super(props);
    this.state = {
      part: '',
      update: true
    };
  }


  myfunc() {
    this.setState({ part: <Text><Text style={{ color: 'blue' }}>"thivishnu_ks_is_good_boyo lllllll COurs uad is sfd_sdf llllsdf sfsddfadfadsfadsff dsafdfas"</Text> <Text>"fasdfa sjsjsjs jsjsjsj sjsjshshshsshshss"</Text></Text> })
  }
  render() {
    var parts = this.state.part
    return (
      <View style={{ paddingTop: 50 }}>
        <TextInput
          multiline={true}
          style={{ height: 300 }}
          >
          <Text>{parts}</Text>
        </TextInput>
        <TouchableOpacity style={{ height: 100, width: 100 }} onPress={this.myfunc.bind(this)} >
          <Text style={{}}>
            Push Me
            </Text>
        </TouchableOpacity>
      </View>
    );
  }
}

person Kiran Varghese    schedule 23.03.2017    source источник


Ответы (1)


Удаление фиксированной высоты, присвоенной TextInput, устранит первоначальную скрытую проблему.

   <TextInput
     multiline={true}
   >
     <Text>{parts}</Text>
   </TextInput>
person Hariks    schedule 23.03.2017
comment
Мне нужно, чтобы текстовое поле было автоматически расширяемым. Поэтому я не могу убрать высоту. - person Kiran Varghese; 23.03.2017