どうも、ちょげ(@chogetarou)です。
ForEachでNavigationLinkを使う方法について解説します。
ForEachとNavigationLink
NavigationView {
VStack {
ForEach(0..<5) { index in
NavigationLink(
destination: Text("\(index)"),
label: {
Text("遷移\(index)")
.foregroundColor(.blue)
.padding()
})
}
}
}
ForEach内のビューをNavigation Linkで囲むことによって、繰り返し生成されたビューごとに遷移させることができます。
以下のようにNavigationLinkでForEach全体を囲んでしまうと、繰り返し生成されたビューがひとまとまりになります。
NavigationLink(destination: /*遷移先*/) {
ForEach(0..<5) { index in
Text("遷移\(index)")
.foregroundColor(.blue)
.padding()
}
}
遷移先を分岐させたい場合は、予想外の結果になってしまいます。
どこをひとまとまりにするのかを、ForEachを使う際には気をつけましょう
コメント