禁用 SwiftUI 上的按钮

问题描述 投票:0回答:1

我在 SwiftUI 中有以下视图,并且该按钮有问题,因为如果我填写条件中提到的两个文本字段,则该按钮不会启用。

import SwiftUI

struct SettingsView: View {

    @Environment(\.modelContext) private var context
    @State private var stagione = Calendar.current.component(.year, from: Date())
    @State private var miaSquadra = ""
    @State private var categoria = ""
    
    var body: some View {
        NavigationStack {
            GroupBox("Stagione") {
                Form {
                    TextField("Stagione:", value: $stagione, formatter: NumberFormatter())
                        .frame(width: 150)
                    TextField("Categoria:", text: $categoria)
                        .frame(width: 400)
                    TextField("Mia squadra:", value: $miaSquadra, formatter: NumberFormatter())
                        .frame(width: 400)
                    Button("Salva") {
                        let nuovaStagione = Stagione(idStagione: stagione, categoriaStagione: categoria, miaSquadra: miaSquadra)
                        context.insert(nuovaStagione)
                    }
                    .frame(maxWidth: .infinity, alignment: .trailing)
                    .buttonStyle(.borderedProminent)
                    .disabled(categoria.isEmpty||miaSquadra.isEmpty)
                }
            }
            .padding()
            GroupBox("Squadre") {

            }

        }
        .navigationTitle("Impostazioni")
    }
}

#Preview {
    SettingsView()
        .environmentObject(NavigationStateManager())
}

我也尝试过只在其中添加一个条件,但效果不佳。

我做错了什么?

谢谢, A.

button swiftui
1个回答
0
投票

第二个文本字段中的格式化程序

© www.soinside.com 2019 - 2024. All rights reserved.