Eu gostaria de colocar uma condição para o NavigationLink.
Eu tenho duas variáveis, e o NavigationLink como abaixo.
@State var score = 0
@State var target = 10
NavigationLink(destination: level2()) {
Text("Next Level")
}
Existe uma maneira de permitir que o usuário passe para o próximo nível se a pontuação for maior que a meta?
Obrigado.
Bem, sua pergunta pode ser interpretada de forma diferente ...
1) se você quiser não mostrar a capacidade de ir em seguida até que a pontuação seja maior que a meta, então é
if score > target { // link will appear to user only when true
NavigationLink(destination: level2()) {
Text("Next Level")
}
}
2) se você deseja mostrar o link, mas não permite navegar até que a condição seja verdadeira, então é
NavigationLink(destination: level2()) {
Text("Next Level")
}.disabled(score <= target)
3) se você quiser navegar automaticamente pelo link quando a condição for verdadeira, então a variante possível é ( mas observe - nesse caso, você precisa manipular manualmente a navegação para trás ou para a frente ou proibir o retorno, etc. )
NavigationLink(destination: level2(), isActive: .constant(score > target)) {
Text("Next Level")
}
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras