refreshable is passed to sub Form unexpectedly

I set up a List of item, and a sheet for each entry in the list to display an editing form when I tap on the entry of the list.

Then I added the refreshable modifier on the list, and the List now can be pull to refresh, that's good.

But I found the Form in the sheet of the entry now also can be pull to refresh, which is not what I want. Is it a bug or did I get it wrong? And also, how can I make the Form not refreshable, because there is not a modifier like .refreshable(false) .

Thanks in advance.

here is a sample code, I test it on xcode 14.1 RC and iOS 16.1 (20B72) on 14 Pro Max simulator.


import SwiftUI

struct ContentView: View {
  var body: some View {
    NavigationView {
      List(1..<10) { row in
        SubView(label: "Row \(row)")
      }
      .refreshable {
      }
    }
  }
}

struct SubView: View {
  var label: String
   
  @State private var isPresented: Bool = false
  var body: some View {
    Text(label)
      .onTapGesture {
        self.isPresented = true
      }
      .sheet(isPresented: $isPresented) {
        Form {
          Text(label)
        }
      }
  }
}


struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    ContentView()
  }
}
refreshable is passed to sub Form unexpectedly
 
 
Q