swift - 如何使用 SwiftUI 中的按钮从数组中删除项目?

标签 swift swiftui

List{
    ForEach(files, id:\.self){ file in
        HStack{
            Text((file.path as NSString).lastPathComponent)
            Button(action: files.remove(at:files.firstIndex(of: file)!), label: {
                Text("Delete")
            })
        }
    }
}

我有一个 View ,其中有一个列表,显示用户选择处理的所有文件。当单击列表上的按钮时,我需要从数组中删除相应的文件。现在它给我错误“无法将类型'URL'的值转换为预期的参数类型'() -> Void'”。我该如何修复它?

最佳答案

按钮操作将用括号括起来。正如 @EmilioPelaez 已经在评论中提到的那样。这是实现的代码。

Button(action: {
        files.remove(at:files.firstIndex(of: file)!)
    }, label: {
        Text("Delete")
 })

关于swift - 如何使用 SwiftUI 中的按钮从数组中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65923124/

相关文章:

ios - Swift 中的 switch 函数 : case vs. case _ where

ios - Couchbase 执行查询很慢

ios - 有在 iPhone XR 模拟器上横向使用 SwiftUI NavigationView 的经验吗?

swift - 如何释放 RealityKit ARView()?

ios - UIImageView 不恢复到原始框架

swift - 检查场景是否包含任何具有名称的节点

ios - 将文件上传到 s3,然后将 URL 存储在 Firebase 中 - Swift 2.2

SwiftUI 列表 - 如何滚动到项目

arrays - 如何将真实数据(不是测试数据)附加到 SwiftUI 中的列表?

ios - 将 UITableView 与不同的 View 模型类型重用