【问题标题】:React Native TextInput - Scroll to left when value is updatedReact Native TextInput - 更新值时向左滚动
【发布时间】:2020-06-25 12:50:33
【问题描述】:

我有一行 TextInput 可以通过 UI 的其他部分进行更新。

我的问题是,有时文本可能很长。在这种情况下,当我更新value 时,TextInput 会一直滚动到其内容的末尾。我需要 TextInput 在更新时保持在左侧。

我有什么办法吗?

Expo SDK 37、React Native 0.61、React 16.9

【问题讨论】:

  • 你设置它的宽度吗?
  • 可以在这里添加截图吗?

标签: react-native react-native-textinput


【解决方案1】:

如果我理解正确,您希望将“可见文本”移动到 TextInput 的开头,但前提是您通过道具设置值(我假设,在输入时,用户将能够看到最后一部分字符串)。

如果这是您的问题,我有时会使用以下代码修复它(this.input 是您的 TextInput 的引用)

 if (this.input) {
   this.input.setNativeProps({
     selection: {
       start: 0,
       end: 0
     }
   });
 }

让我知道这是否适合你:)

【讨论】:

  • 这行得通。唯一的问题是,在将 selection 设置为 0 后,在输入字段中键入只会允许将字符放在 0 位置。当用户输入时,我必须添加input?.setNativeProps({ selection: null })
  • 是的,您需要“撤消”它才能让用户输入。我在我只是通过 prop 设置值而不允许编辑的情况下使用它:)
猜你喜欢
  • 2021-10-12
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-02
  • 2021-12-27
相关资源
最近更新 更多