I can confirm the exact same behaviour (Xcode 14.3 (14E222b) on macOS 13.3.1 (22E261)). My sample code is this:
import SwiftUI
enum ListEntry: String, Identifiable {
var id: String { rawValue }
case banana
case kiwi
case orange
}
struct ContentView: View {
var elements: [ListEntry] = [.banana, .kiwi, .orange]
@State var selection: String? = nil
var body: some View {
NavigationSplitView {
List(elements, selection: $selection) { e in
Text("\(e.rawValue)")
}.onChange(of: selection) { newValue in
print("newValue = \(newValue ?? "<nil>")")
}
// } content: {
// Text("Content")
} detail: {
Text("Selection \(selection ?? "<nil>")")
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView().previewInterfaceOrientation(.landscapeLeft)
}
}
Did you come up with a solution / workaround?