Перейдите к контакту из списка - PullRequest
0 голосов
/ 12 сентября 2018

Так что на данный момент у меня есть список контактов, где я могу просматривать свои контакты в статическом списке.Я хочу, чтобы можно было нажимать на строку поиска, и вместо того, чтобы перетаскивать контакты, скрывая вид пользователей, поиск откроется на новой пустой странице

 class _ContactPage extends State<ContactsPage> {
      @override
      Widget build(BuildContext context) {
        return new MaterialApp(
          home: new Scaffold(
              appBar: new AppBar(
                title: widget.appBarTitle,

1 Ответ

0 голосов
/ 12 сентября 2018

Вы можете обернуть тело своего скаффолда в навигатор и вставить страницу поиска в этот навигатор, когда начнете печатать.Как то так:

...

// Declare this at the top
_navigatorKey = new GlobalKey<NavigatorState>();

...

// onChanged method for your search text field
onChanged: (value) {
  if (shouldShowSearchResults) {  // TODO
    _navigatorKey.currentState.pushNamed('contacts/search');
  } else if (shouldHideSearchResults {  // TODO
    _navigatorKey.currentState.pop();
  }
}

...

// New body for your Scaffold
body: new Navigator(
  key: _navigatorKey,
  initialRoute: 'contacts',
  onGenerateRoute: (RouteSettings settings) {
    if (settings.name == 'contacts') {
      return new MaterialPageRoute(
        builder: (_) => new ContactList(kContacts),
        settings: settings
      );
    } else if (settings.name == 'contacts/search') {
      return new MaterialPageRoute(
        builder: (_) => new SearchPage(contacts: kContacts, search: searchValue),  // TODO
        settings: settings
      );
    }
  }
)

...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...