Проблема
Я сталкиваюсь с проблемой в Swiftui, где изменение модели типа значения внутри детей-представления иногда приводит к неожиданному всплеску навигационного стека. Это происходит, хотя я только изменяю свойство внутри ребенка, не заменяю всю модель. Просмотр подробностей позволяет редактировать свойство имени через текстовое поле.import SwiftUI
struct Item: Identifiable, Hashable {
let id: UUID
var name: String
}
struct ContentView: View {
@State private var items = [
Item(id: UUID(), name: "Item 1"),
Item(id: UUID(), name: "Item 2")
]
var body: some View {
NavigationStack {
List($items) { $item in
NavigationLink(item.name, value: item)
}
.navigationDestination(for: Item.self) { item in
DetailView(item: item)
}
}
}
}
struct DetailView: View {
@State var item: Item //
Проблема < /p>
Когда я набираю текстовое поле, представление иногда появляется обратно на предыдущий экран, не нажимая кнопку на спине. Похоже, что навигационный стек теряет трек экземпляра моего элемента, когда его имя обновляется. NavigationDestination проходит копированное значение, а не связывание. Проблема навигационного поп -тона, но ввела осложнения с кодеклевыми, херанными и безопасностью потока. < /li>
< /ul>
Отслежил выбранный элемент отдельно < /li>
< /ol>
Введите opplicit @Strectate Private SelectionM: ITERSTEM? В ContentView. < /p>
< /li>
вручную назначен выбранный элемент до навигации. DetailView должен лишь обновить это поле и не заставлять Swiftui выпадать навигационный стек.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ying-state
Swiftui NavigationLink неожиданно появляется при изменении состояния ⇐ IOS
Программируем под IOS
1742122338
Anonymous
Проблема
Я сталкиваюсь с проблемой в Swiftui, где изменение модели типа значения внутри детей-представления иногда приводит к неожиданному всплеску навигационного стека. Это происходит, хотя я только изменяю свойство внутри ребенка, не заменяю всю модель. Просмотр подробностей позволяет редактировать свойство имени через текстовое поле.import SwiftUI
struct Item: Identifiable, Hashable {
let id: UUID
var name: String
}
struct ContentView: View {
@State private var items = [
Item(id: UUID(), name: "Item 1"),
Item(id: UUID(), name: "Item 2")
]
var body: some View {
NavigationStack {
List($items) { $item in
NavigationLink(item.name, value: item)
}
.navigationDestination(for: Item.self) { item in
DetailView(item: item)
}
}
}
}
struct DetailView: View {
@State var item: Item //
Проблема < /p>
Когда я набираю текстовое поле, представление иногда появляется обратно на предыдущий экран, не нажимая кнопку на спине. Похоже, что навигационный стек теряет трек экземпляра моего элемента, когда его имя обновляется. NavigationDestination проходит копированное значение, а не связывание. Проблема навигационного поп -тона, но ввела осложнения с кодеклевыми, херанными и безопасностью потока. < /li>
< /ul>
Отслежил выбранный элемент отдельно < /li>
< /ol>
Введите opplicit @Strectate Private SelectionM: ITERSTEM? В ContentView. < /p>
< /li>
вручную назначен выбранный элемент до навигации. DetailView должен лишь обновить это поле и не заставлять Swiftui выпадать навигационный стек.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79511114/swiftui-navigationlink-unexpectedly-pops-when-modifying-state[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия