#flutter
#flutter
Вопрос:
У меня есть виджет, который создает и индексирует stack с помощью (2) виджетов. У одного первого виджета есть список имен, и когда вы нажимаете на имя, номер индекса indexedstack изменяется, и он изменяет страницу, на которой отображается второй виджет. Я хочу передать это значение имени второму виджету. Проблема в том, что мой основной виджет использует indexedstack, потому что мне нужна панель bottomnavigation. Если бы я должен был использовать navigator, я мог бы изменить свой конструктор виджетов, но тогда это привело бы к перезагрузке всей страницы, поэтому я использую indexedstack, поэтому страницы тела меняются, а панель bottomnavigation остается прежней.
Комментарии:
1. «Проблема в том, что мой основной виджет использует indexedstack» — и в чем проблема с этим
IndexedStack
?2. @pskink я столкнулся с проблемой, что я не могу передать значение 2-му виджету в индексированном стеке, потому что значение генерируется в первом виджете индексированного стека. Основной виджет по умолчанию показывает первый виджет в indexedstack. Я нажимаю имя из списка в первом виджете indexedstack и хочу, чтобы это значение имени было передано 2-му виджету в indexedstack. Если бы я использовал конструктор navigator 2nd widget, я мог бы легко это сделать, но я просто меняю экраны, изменяя значение индекса для indexedstack.
3. итак, вам нужно перестроить
IndexedStack
— у него нет никакого свойства «listenaable», которое вы могли бы использовать во время выполнения4. @pskink перестроить IndexedStack означает запустить метод rebuild в виджете для перестроения виджета IndexedStack? Как это помогает при передаче значения 2-му виджету в IndexedSTack?
5. поступая таким образом, вы можете создать свой
IndexedStack
и все его дочерние элементы с нуля, передавая любые значения, которые вы хотите