如何在 React Native 中为 TextInput 设置 lineHeight 样式?

Posted

技术标签:

【中文标题】如何在 React Native 中为 TextInput 设置 lineHeight 样式?【英文标题】:How to set lineHeight style for TextInput in React Native? 【发布时间】:2016-04-01 05:54:20 【问题描述】:

文档说我可以对 TextInput 使用与 Text 相同的样式。在设置即。 Text 上的 lineHeight 具有适当的效果,对 TextInput 这样做是行不通的。

虽然没有错误,但如果我使用了无效的样式属性,应该会显示。

我很想解决这个问题,即使它需要一些 Obj-C。

【问题讨论】:

我没有为您解决的问题,但我确实为您创建的问题添加了一些细节。 github.com/facebook/react-native/issues/4977 【参考方案1】:

我不确定这是否会在 18.0-rc 或 15.0-rc 中得到修复,但看起来 Nick Lockwood 在提交中修复了这个问题:06a44a31。诀窍是在<TextInput> 元素内嵌套一个<Text> 元素。

   <TextInput
     multiline=true
     style=styles.multiline
     onChangeText=(text) => 
       this.setState(text);
     
   >
     <Text>parts</Text>
   </TextInput>

【讨论】:

这是正确的解决方案,但它暗示了其他错误,例如当您快速书写时存在滞后和字母错位,并且占位符的行高无法调整,这看起来很糟糕。 (目前我个人的解决方案是自定义行高的字体,用 Font Forge 很容易实现) 很高兴知道。您应该在上面的 github 提交和问题中分享您的观察。

以上是关于如何在 React Native 中为 TextInput 设置 lineHeight 样式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 react-native 中为特定组件传递样式道具

如何在 React Native 中为 useRef 钩子设置 Typescript 类型?

如何在 React Native 中为 API 请求创建进度条?

如何在 React Native 中为 TextInput 设置 lineHeight 样式?

如何在 Visual Studio Code 中为 React Native 设置调试?

当您不知道内容的大小时,如何在 react native 中为高度设置动画?