Listビューの要素を削除する方法について解説します。
方法
Listの要素を削除する方法は、ForEachを使っていることが前提となっています。
具体的には、ForEachの.onDeleteを使います。
func onDelete(perform : (indexSet) -> Void )
performクロージャは、要素を判別するインデックスを引数として受け取り、クロージャー内で削除処理をします。
例えば、配列の要素を削除する例を紹介します。
List {
ForEach(arrayBox, id: \.self) { name in
Text(name)
}
.onDelete(perform: { indexSet in
self.arrayBox.remove(atOffsets: indexSet)
})
}
.onDeleteでは、配列のremoveメソッドで削除処理を行う処理を記述しています。
.onDeleteを使用すると、要素を左にスワイプすることで削除処理が表示されるようになっています。

まとめ
基本的な流れは、ForEachを使っていることを前提として、
- ForEachの.onDeleteを呼び出す
- 引数のインデックスを使った削除処理を記述
削除処理は、ForEachで使っているデータによって使い分けでください。

[SwiftUI]List(リスト)の要素を選択可能にする方法[Xcode]
2021/8/5SwiftUIのリストを選択可能にする方法について解説します。

[SwiftUI]リスト(list)の要素を削除する方法
Listビューの要素を削除する方法について解説します。方法Listの要素を削除する方法は、ForEachを使っていることが前提となっています。具体的には、ForEachの.onDeleteを使います。func onDelete(perfor...

[SwiftUI]ListのbackgroundColor(背景色)の変え方
2021/7/31この記事では、Listの背景色の変え方を解説します。
コメント