如何在 SwiftUI 按钮中使用布尔值?

How can I use a bool in a SwiftUI button?

我想更改布尔值 Enabled 的结果,但不知道该怎么做。

我需要 enable/disable 另一个 UIViewRepresentable 中的函数的布尔值。

代码:

import SwiftUI

var Enable = true

struct ContentView: View {

      @State private var Route = false

    var body: some View {

        VStack{

        Button(action: {
                       self.Route.toggle()
                       }) {
                       Text("Route >")
                   }

                   if Route {

                       Enable = false
                  }

          }

    }
}

如果我使用此代码,它会打印错误:

Argument type '()' does not conform to expected type 'View'

如评论中所述,按照惯例,变量应以小写字母开头,类型(类、enum、struct)应以大写字母开头。

此外,您的代码应该放在闭包中。

var enable = true

struct ContentView: View {

    @State private var route = false

    var body: some View {

        VStack{

            Button(action: {
                self.route.toggle()
                if self.route { enable = false }
            }) {
                Text("Route >")
            }
        }
    }
}