相关疑难解决方法(0)

ObervableObject 被多次初始化,并且没有刷新我的视图

我有这样的结构

contentView {
    navigationView{
     foreach {
        NavigationLink(ViewA(id: id))
     }
    }
}
Run Code Online (Sandbox Code Playgroud)

///其中视图A包含一个请求触发器在视图中出现

struct ViewA: View {

    @State var filterString: String = ""

    var id: String!
    @ObservedObject var model: ListObj = ListObj()

    init(id: String) {
        self.id = id
    }

    var body: some View {
        VStack {
            SearchBarView(searchText: $filterString)
            List {
                ForEach(model.items.filter({ filterString.isEmpty || $0.id.contains(filterString) || $0.name.contains(filterString)  }), id: \.id) { item in
                    NavigationLink(destination: ViewB(id: item.id)) {
                        VStack {
                            Text("\(item.name) ")
                        }
                    }
                }
            }

        }
        .onAppear {
            self.model.getListObj(id: self.id) //api request, …
Run Code Online (Sandbox Code Playgroud)

xcode swift swiftui swiftui-navigationlink

3
推荐指数
2
解决办法
1603
查看次数

标签 统计

swift ×1

swiftui ×1

swiftui-navigationlink ×1

xcode ×1