以编程方式输入文本时,TextInput 无法按预期工作

Posted

技术标签:

【中文标题】以编程方式输入文本时,TextInput 无法按预期工作【英文标题】:TextInput not working as expected when programmatically entering text 【发布时间】:2017-08-16 01:09:16 【问题描述】:

以下代码在 ios (iPhone 6) 中无法正常工作。当我按下“Push Me”时,单词没有完全显示,光标也没有显示。在进一步调查中,我发现没有触发 onChangeText 和 onContentSize 更改。按下“Push Me”按钮后,按键盘上的任意键会显示完整的单词。我希望在单击按钮时显示完整的单词。如果我使用 value prop 来更新 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>
    );
  

【问题讨论】:

【参考方案1】:

删除给TextInput的固定高度将解决最初的隐藏问题。

   <TextInput
     multiline=true
   >
     <Text>parts</Text>
   </TextInput>

【讨论】:

我需要文本框自动展开。所以我不能删除高度。

以上是关于以编程方式输入文本时,TextInput 无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

当验证器返回“无效”时,如何以编程方式在 TextInput 上显示工具提示?

当焦点文本输入反应本机时,滚动视图无法滚动

kivy textinput 无法输入文字

无法在 KIVY Python 中打印取自 kivy.uix.textinput.TextInput 的文本

Nativescript-vue 将光标设置在 TextInput RTL 的末尾

在 ActionScript3 中,我无法在 TextInput 中查看长文本