为什么当“ isActive”为false时会触发NavigationrLink?

时间:2020-10-13 16:30:59

标签: swiftui swiftui-navigationlink

注意:这是我原来的问题的简化版本。

问题:为什么当我在视图内的任意位置点击时,当' isActive '参数设置为 false时,我激活了NavigationLink?

期望: ***不采取行动***

我相信这是一个错误。

import SwiftUI

struct ContentView: View {
    @State private var isDataResultViewActive = false

    var body: some View {
        NavigationView {
            NavigationLink(destination: EmptyView(), isActive: $isDataResultViewActive) {
                Text("Hello, world!")
                    .padding()
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我已经应用了NavigationLink模板不正确

解决方案: 我应该将NavigationLink环绕在可以对其进行切换的按钮上;不是整个容器视图(这样做会在用户用容器视图点击ANYWHERE时触发,这是我不希望的)。 ☝️