ButtonStyle unexpectedly leaks through destination link in 1.1.2
PhilipDukhov opened this issue · 1 comments
PhilipDukhov commented
When .buttonStyle
is applied in the code below, I expect it to apply the style to button created by DestinationLink
, but destination view shouldn't be decorated.
Since we have a wrapper around DestinationLink
, I can easily apply .buttonStyle(.plain)
to destination to prevent such issue, but not sure if this behavior is expected - it changed between 1.1.0 and 1.1.2.
struct ContentView: View {
@State var presented = false
var body: some View {
NavigationView {
DestinationLink {
ViewToDismiss()
} label: {
Text("show")
}
.buttonStyle(.bordered)
}
}
}
struct ViewToDismiss: View {
@Environment(\.destinationCoordinator) var destinationCoordinator
var body: some View {
Button("Dismiss") {
destinationCoordinator.pop()
}
}
}
nathantannar4 commented
Attempting to fix #24 broke this, fixed in 1.1.3
but mutating the binding cannot dismiss with animation. DestinationCoordinator
must be used.