如何防止 TextField 在 SwiftUI 列表中消失?

ldi*_*ual 1 textfield uitextfield uikit swift swiftui

有一个讨厌的SwiftUI错误,其中TextField消失,如果放在HStackList

List {
    ForEach(0...200, id: \.self) { index in
        HStack {
            Text("Text \(index)")
            TextField("Test", text: .constant("TextField \(index)"))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

https://recordit.co/X12uGct7gD

TextField放置在HStack / VStack / ZStack / .overlay() / .background(). 当TextField是 的唯一孩子时不会发生ForEach

我已经提交了一个错误 (FB7500885),但我正在寻找来自社区的想法来解决它。这是我迄今为止尝试过的:

  • 设置一个明确.frame()TextField
  • 设置.fixedSized()开启TextField
  • 使用UITextField包装在 a 中UIViewConvertible,有或没有布局约束

还有什么我可以尝试的吗?

E.C*_*oms 5

尝试以下方法:

  List {
      ForEach(0...200, id: \.self) { index in
          HStack {
              Text("Text \(index)")
            TextField("Test", text: .constant("TextField \(index)")).id(index)
          }
      }
  }
Run Code Online (Sandbox Code Playgroud)