我从 API 调用获取用户个人资料信息,并希望将现有数据(如姓名、性别等)填充到我的用户个人资料字段中。但是,我不知道如何分配sfullName
的状态变量( )TextField
。以下代码是完整表单视图的子视图。我在 上进行网络呼叫parent
view
.onAppear{}
。这是我的代码:
import SwiftUI
struct FormPartOneView: View {
@State var fullName: String = ""
@ObservedObject var userProfile = UserProfileViewModel()
var body: some View {
GeometryReader { geometry in
VStack {
TextField("Full Name", text: self.$fullName)
.padding(.horizontal)
}
.font(.system(size: 13))
.frame(width: geometry.size.width/1.2, height: 40)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color("Border2"), lineWidth: 1)
)
.onAppear {
self.userProfile.fetchWithAF()
}
}
}
}
struct FormPartOneView_Previews: PreviewProvider {
static var previews: some View {
FormPartOneView()
}
}
Run Code Online (Sandbox Code Playgroud)
下面的代码包含来自解码的 json 数据的全名:
self.userProfile.userProfileModel?.payload[0].fullName ?? ""
Run Code Online (Sandbox Code Playgroud)
所以我想知道如何将全名填充到TextField
表单中的全名中。
这是表单视图:
如果我正确理解了你的模型,你可以在.onReceive
修改器中设置它,比如
.onAppear {
self.userProfile.fetchWithAF()
}
.onReceive(self.userProfile.$userProfileModel) { model in
self.fullName = model?.payload[0].fullName ?? ""
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
481 次 |
最近记录: |