問題タブ [flutter-navigation]

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.

0 投票する
1 に答える
576 参照

dart - 初めてクリックした後にボタンを無効にする方法

初めてクリックした後にボタンを無効にする方法は?

ここに画像の説明を入力

0 投票する
0 に答える
917 参照

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.されます。タブに新しいページをプッシュしてからタブを切り替えた後。