如何从SwiftUI的操作内部访问Button的titleLabel?

问题描述 投票:-1回答:2

非常简单,如果我声明一个按钮,如:

Button("buttonLabel") {
    //How do I access the titleLabel.text, in this case "buttonLabel" inside the button's action?
}

旁注:如果可以添加任何内容来实现上下文相关,我可以,但是我觉得必须有一些超级简单的方法来访问标签...

swift button swiftui action
2个回答
0
投票

您可以通过将其声明为ContentView成员的外部变量来访问它:

struct ContentView: View {
    let buttonLabel = "buttonLabel"

    var body: some View {
        Button(buttonLabel) {
            print("Pressed \(buttonLabel)")
        }
    }
}

0
投票

如果只想访问标签的值,则可以在视图中将其设置为属性。如果要在操作中进行修改,则需要使用@State包装器对其进行标记,如下所示。

struct YourView: View {
    @State let label = "Tap Me"

    var body: some View {
        Button(label) {
            self.label = "Tapped!"
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.