SwiftUI—如何删除List列表里的记录

2020-07-15  本文已影响0人  anny_4243

原文链接:https://github.com/fzhlee/SwiftUI-Guide#-%E7%AC%AC7%E8%8A%82list-delete-

本节课演示如何配合NavigationView,删除List列表里的元素。

示例代码:

struct ContentView : View {

        @State var languages = ["Objective-C", "Swift", "Flutter"]

        var body: some View {
            NavigationView {
                List {
                    ForEach(languages,id: \.self) { language in
                        Text(language)
                    }
                    .onDelete(perform: delete) //添加对onDelete方法的响应,当列表里的记录被删除时,执行delete方法,该方法将在下面的代码中实现
                }
                .navigationBarItems(trailing: EditButton())
            }
        }

        func delete(at offsets: IndexSet) {
            if let first = offsets.first { //获得索引集合里的第一个元素,然后从数组里删除对应索引的元素
                languages.remove(at: first)
            }
        }
    }
上一篇下一篇

猜你喜欢

热点阅读