Возможно ли иметь кнопку (action: -) в представлении List / ForEach в SwiftUI - PullRequest
1 голос
/ 04 мая 2020

Я хочу добавить Button(action: - представление к представлению списка с ForEach, в котором есть NavigationLink. Таким образом, пользователь может посмотреть подробный экран списка, который имеет Button(action: -, однако, если они, если пользователю не нужно видеть детали, они могут выбрать, используя Button в списке.

List {
  ForEach(DATA, id: \.self { data in
    NavigationLink(destination: DetailView(data: data)) {
      HStack {
        Text(data.name)
        Button(action: {
           // add to an array
        }) {
             Text(data.price)
        }
      }
    }
  }
}

, но когда я нажмите на кнопку, чтобы перейти к DetailView

Не уверен, если это возможно. Любой совет

1 Ответ

1 голос
/ 04 мая 2020

Здесь возможен подход

List {
  ForEach(DATA, id: \.self { data in
    NavigationLink(destination: DetailView(data: data)) {
      HStack {
        Text(data.name)
        Button(action: {
           // add to an array
        }) {
             Text(data.price) // some padding might be useful
                .foregroundColor(Color.blue) // << can be any 
        }.buttonStyle(PlainButtonStyle())    // << here !!
      }
    }
  }
}
...