首页 > 解决方案 > .onDrop 在 SwiftUI 的表单和部分中的视图中不起作用

问题描述

当附加到表单/部分内的视图时,不会调用我的放置委托。请参阅下面的代码。

struct ContentView: View {
  @State private var text = "Goodbye"  {
    didSet  {
      print(text)
    }
  }
  
  var body: some View {
    Form {
      Section  {
        Text(text)
        RoundedRectangle(cornerRadius: 10)
          .frame(width: 150, height: 150)
          .onDrop(of: ["text"], delegate: MyDropDelegate(text: $text))
      }
    }
  }
}

struct MyDropDelegate: DropDelegate {
  @Binding var text: String
  
  func performDrop(info: DropInfo) -> Bool {
    self.text = "Received drop text"
    return true
  }
}

注释掉表单/部分,它工作正常。

问题是什么?

标签: swiftuidrop

解决方案


推荐阅读