我是 react native 的初学者,我正在try 在对话框中输入多行文本(来自 react native 纸质模块的对话框组件),它在Android和Web上运行得很好,但在iOS上不起作用.

以下是我的代码:

      <Dialog
        visible={isDialogVisible}
        onDismiss={() => setIsDialogVisible(false)}>
        <TextInput
          multiline
          style={{
            height: 150,
            borderWidth: 1,
          }}
          value={inputVal}
          onChangeText={(text) => setInputVal(text)}
        />

        <Dialog.Actions>
          <Button onPress={() => setIsDialogVisible(false)}>Done</Button>
        </Dialog.Actions>
      </Dialog>

此外,您还可以查看此演示链接:

https://snack.expo.dev/@mohsenkh90/react-native-paper-dialog-with-textinput

推荐答案

这似乎是《react 原住民》中的一个众所周知的问题.

  1. TextInput inside a portal is buggy
  2. When a TextInput is inside a Portal, cursor jumps around on edit

这里提供了一个解决方法:By creating HOC for portal

或者一个简单的解决办法是将defaultValue作为props 传递给TextInput,而不是value

  <Dialog
    visible={isDialogVisible}
    onDismiss={() => setIsDialogVisible(false)}>
    <TextInput
      multiline
      style={{
        height: 150,
        borderWidth: 1,
      }}
      defaultValue={inputVal}                     //changed the prop
      onChangeText={(text) => setInputVal(text)}
    />

    <Dialog.Actions>
      <Button onPress={() => setIsDialogVisible(false)}>Done</Button>
    </Dialog.Actions>
  </Dialog>

参考文献:https://stackoverflow.com/a/64945998/10657559

Ios相关问答推荐

如何正确测试后台URLSessionDownloadTask?

为什么Reaction-Native-Vision-Camera不能与闪光灯一起使用?

在SwiftUI中使用系统图像和色调创建圆形按钮

如何在将EXPO更新到50.0后修复react 本机错误

SWIFT用户界面检测手势的开始和结束

如何在SwiftUI中顺时针和逆时针两个方向应用旋转效果?

如何从单独的视图更改修饰符的值

Swift:判断 Foundation (NS)Errors 与自定义协议的一致性

如何擦除 Swift 中的 Core Graphics Context 绘图?

iOS 是否支持使用独立 .xib 文件创建的嵌套自定义子视图?

在 Swift 中合并子数组

在 UICollectionView 上动态设置布局导致莫名其妙的 contentOffset 变化

在设备上卸载 ios 应用程序后如何在 ios 中保留 identifierForVendor?

'+entityForName: nil 不是合法的 NSManagedObjectContext 参数 - 核心数据

Xcode 4 + iOS 4.3:存档类型不存在打包程序

SwiftUI NavigationView navigationBarTitle LayoutConstraints 问题

使用 Xcode 4 的 iPhone 临时构建

在 NSUserDefaults 中存储值是否有任何限制?

在 iOS 上没有显示数字键盘

找不到开发者磁盘映像