美文网首页
SwiftUI—如何往一个List列表里插入新的记录

SwiftUI—如何往一个List列表里插入新的记录

作者: anny_4243 | 来源:发表于2020-07-15 18:38 被阅读0次

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

本节课演示如何配合NavigationView导航视图,往一个List列表里插入新的纪录。

示例代码:

struct ContentView : View {
    
    @State var languages = ["Objective-C", "Swift", "Flutter"] //列表数据源

    var body: some View {
        NavigationView { //添加一个导航视图,导航视图的功能类似于UINavigationController,主要用于多个视图之间的跳转
            List { //用于演示往这个列表里插入新的记录
                ForEach(languages, id:\.self) { language in //添加一个循环语句,对数组进行遍历操作
                    Text(language) //使用文本视图显示数组里的元素
                }.onInsert(of: ["demo"], perform: { (offset, message) in
                    print(offset) //用来实现往数组里添加新的元素
                })
            }
            .navigationBarTitle(Text("Edit Row"), displayMode: .large) //设置导航栏的标题文字,从预览窗口可以看出,导航栏的标题文字位于屏幕的左上角
            .navigationBarItems(trailing: EditButton()) //添加一个导航按钮编辑按钮,导航按钮位于导航栏的右侧
/*
.navigationBarItems(trailing: Button(action: addItem, label: {
                Text("Add")
            }))//添加一个导航按钮,导航按钮位于导航栏的右侧。当点击导航按钮时,执行addItem方法*/
        }.padding()
    }

//    func addItem() {
//        languages.append("C++")
//    }

    func insertItem(to offsets: Int, message : [NSItemProvider]) {
        languages.insert(message[0].description, at: offsets)
    } //添加一个方法,用来响应导航按钮的点击事件
    
}

相关文章

网友评论

      本文标题:SwiftUI—如何往一个List列表里插入新的记录

      本文链接:https://www.haomeiwen.com/subject/bnyjhktx.html