Swift UI: отключить кнопку, если текстовое поле пусто - PullRequest
1 голос
/ 19 февраля 2020

Как отключить кнопку, если текстовое поле пусто для Swift UI. Мой код:

struct AddTask: View {
  @Binding var isOpen: Bool
  @State var text = ""
  let tint: Color
  let done: (String) -> ()

  var body: some View {
    VStack() {
      HStack {
        Text("What tasks are you planning to do?")
          .font(.custom("Avenir", size: 14))
          .foregroundColor(.gray)
        Spacer()
      }

        CustomTextField(text: $text, isFirstResponder: true)
        .frame(height: 30)

      HStack {
        Spacer()
        Button(action: { self.done(self.text); self.isOpen.toggle() }) { Text("Done") }
          .foregroundColor(self.tint)
      }
      Spacer()
    }
    .padding(.all, 30)
  }
}

Я хочу отключить кнопку, если CustomTextField пусто.

1 Ответ

1 голос
/ 19 февраля 2020

Использовать .disabled модификатор как в следующем

    Button(action: { self.done(self.text); self.isOpen.toggle() }) { Text("Done") }
      .foregroundColor(self.tint)
      .disabled(self.text.isEmpty)
...