SwiftUI

【SwiftUI】Listから要素を削除する

Listから指定した行を削除するにはonDeleteを使います。

struct ContentView: View {
    
    @State private var rows = ["Sato","Suzuki","Takahashi","Tanaka"]
    
    var body: some View {
        VStack{
            List{
                ForEach(rows,id:\.self){
                    row in
                    Text("\(row)")
                }
                .onDelete(perform:removeRows)
            }
        }
        
    }
    
    func removeRows(offsets: IndexSet){
        rows.remove(atOffsets: offsets)
    }
}

上記のコードではonDelete()をする際の処理を別メソッドとして定義した物を指定していますが、
下記のようにすることもできます

.onDelete(perform:{ offsets in
                    rows.remove(atOffsets: offsets)
                })

-SwiftUI
-, ,

© 2024 swift技術ブログ Powered by AFFINGER5