相关疑难解决方法(0)

刷新 SwiftUI 列表

Ím 每次单击 NavLink 时都会尝试刷新此列表

NavigationView {
    List(feed.items.indices, id:\.self) { i in
        NavigationLink(destination: ListFeedItemDetail(idx: i).environmentObject(self.feed)) {
            ListFeedItem(item: self.$feed.items[i])
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该列表由环境对象内的数组组成。问题:只有当我切换到另一个选项卡或关闭我之前使用过模态视图的应用程序时它才会刷新,并且它在那里工作。(我是用 .onAppear 做到的)有什么想法吗?

例子

问题:当您点击列表中的一个项目并点击切换按钮时,EnvironmentObject 已更改,但仅当我更改选项卡并再次将其更改回来时才会反映此更改

import SwiftUI
import Combine

struct TestView: View {

    @State var showSheet: Bool = false
    @EnvironmentObject var feed: TestObject
    func addObjects() {
        var strings = ["one","two","three","four","five","six"]
        for s in strings {
            var testItem = TestItem(text: s)
            self.feed.items.append(testItem)
        }
    }

    var body: some View {
        TabView {
            NavigationView {
                List(feed.items.indices, id:\.self) { i in
                    NavigationLink(destination: …
Run Code Online (Sandbox Code Playgroud)

swiftui swiftui-list

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

swiftui ×1

swiftui-list ×1