選択可能なリストの作成方法を紹介します。
配列中の選択した行のインデックスを返す方法
Listのパラメータであるselectionを活用することで、選択したインデックスを取得したりすることが可能です。
選択したリストのインデックスを取得できることで、選択した行の一括削除などの機能に応用することができます。

import SwiftUI
//リストに表示する文字列配列
private var fruits = ["apple", "orange", "peach"]
struct ListSample: View {
//選択結果を保持
@State var multiSelection = Set<Int>()
var body: some View {
VStack {
//リストを表示する
//selectionに選択したインデックスを保持
List(selection: $multiSelection) {
ForEach(0..<fruits.count, id: \.self) { index in
//.tagで指定した値をmultiSelectionに格納する
Text(fruits[index]).tag(index)
}
}
//(参考:常に編集モードにする)
.environment(\.editMode, .constant(.active))
//動作確認用 選択したインデックスを表示
ForEach(Array(multiSelection), id: \.self) { selection in
Text("\(selection)")
}
}
}
}

