У меня есть строка поиска и список отфильтрованных массивов, который отображает список строк. Панель поиска работает отлично и обновляет список тем, что содержится в тексте поиска.
Массив:
let array = ["Student 1", "Student 2", "Student 3", "Student 5","Student 6","Student 7"]
Вот список:
List {
ForEach(array.filter{$0.localizedCaseInsensitiveContains(searchText) || searchText == ""}, id:\.self) { student in
NavigationLink(destination: StudentSummary()){
Text(student)
}
}
}
Если пользователь нажимает на элемент в списке, я хочу иметь возможность сохранить текст элемента списка, который выбран в переменную, и получить индекс массива, в котором этот элемент списка найден.
Я не могу найти способ отслеживать из которых навигационная ссылка нажата. Я пытался сохранить student
в переменной и отобразить ее, и она отображала последний элемент в списке, когда я печатал эту переменную. У меня возникло ощущение, что навигационная ссылка вызывает эту проблему, но я не уверен.