問題タブ [cupertinotabbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dart - CupertinoTabBar でタブを移動する方法は? マテリアル タブ バーとは異なり、タブを切り替えるためのタブ コントローラーはありません。
私は [ホーム] タブを使用していますが、CupertinoTabBar を使用して 2 番目のタブに移動する必要があります。マテリアルタブバーのようなグローバルキーでシフトするタブコントローラーがありません。オプションを提案していただけますか?
グローバル キーを使用して、タブの currentIndex を変更しようとしました。しかし、運が悪い。オプションが不足しています。
HomeScreen.dart - タブを含む
HomeTab.dart - [SEE MORE TRIPS] ボタンが含まれています。ボタンをクリックすると、2 番目のタブに移動します
flutter - Cupertino タブを切り替えるときにナビゲーターをリセットする方法
Flutter でマルチページ アプリをセットアップしようとしています。下部のタブバーには、[その他] ボタンを含む、最もよく使用される 4 つのページが含まれています。詳細ボタンは、他のページへのリンクを含むページを表示します。ページをクリックすると、このページが「その他」ページに置き換わるため、新しいナビゲーション スタックが作成されます。ただし、別のタブに切り替えてから「詳細」タブに戻ると、ナビゲーションの状態が記憶されます。これは、「その他」ページではなく、タブを切り替えたときに残したページが表示されていることを意味します。ユーザーが「その他」タブをクリックするたびに「その他」ページを表示したい。
Navigator の pushReplacement メソッドを使用してみました。そのため、ユーザーが詳細ページをクリックすると、詳細ページのリストに戻ることができません。ただし、タブを切り替えると、more ページが置き換えられるため、表示されなくなりました。
また、タブのコールバック メソッドを調整して、すべてのビューをポップし、ナビゲーターを MoreScreen に戻すことも試みました。ただし、これにより、コンソールにエラーが表示されました: setState() or markNeedsBuild() called during build.
.
タブ画面:
そして、別のページに移動するためのボタンを保持する MoreScreen:
タブを切り替えるたびにナビゲーションスタックがリセットされることを期待していますが、次を使用して手動で行う必要があります。
Navigator.of(context).popUntil((route) => route.isFirst);
これにより、次のエラー メッセージが表示setState() or markNeedsBuild() called during build.
されます。タブに新しいページをプッシュしてからタブを切り替えた後。