【发布时间】:2021-12-15 06:06:40
【问题描述】:
我正在使用 NavigationView 从一个视图导航到另一个视图。在按钮操作上,我想浏览另一个页面。我使用了多个网络调用来检查和导航另一个页面。
我有两个功能。一种是doLogin。如果我在 doLogin 方法中 isActiveWelcomeView = true,它会导航到 WelcomeView。它工作正常。但是当我在 onResponse 函数中使用 isActiveWelcomeView = true 时,它不会导航到 WelcomeView。 onResponse 是协议函数,我实现了 FundTransferDashboard 视图和服务器数据来到 onResponse 函数。我必须检查此功能的所有验证,然后导航到另一个页面。
这里是示例代码..
struct FundTransferDashboard: View ,LoginProtocol{
@State private var isActiveWelcomeView = false
var body: some View {
ZStack(alignment: .top) {
NavigationView {
VStack {
Button(action: {
doLogin()
}) {
HStack {
Image("lock")
.resizable()
.frame(width: 50, height: 50, alignment: .leading)
.padding(10)
Text("LOGIN")
.padding(.leading, 40)
.foregroundColor(.white)
.font(.system(size: 25, weight: Font.Weight.bold))
.padding(10)
Spacer()
}
Spacer()
} .frame(maxWidth: .infinity)
NavigationLink("", destination: WelcomeView(), isActive: $isActiveWelcomeView)
}
}
}
}
func doLogin(){
//calling network
}
func onResponse(loginResponse: LoginResponseModel){
//reponse....
isActiveWelcomeView = true
}
}
这是协议
protocol LoginProtocol {
func onResponse(loginResponse:LoginResponseModel)
}
我使用@State 从一个视图导航到另一个视图。代码有什么问题?请帮帮我
【问题讨论】: