美文网首页
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