在 Flutter 开发中,如何在用户交互后显示AlertDialog是一个常见但容易出错的功能。本文将通过一个实际案例,展示如何正确处理AlertDialog在独立组件中显示的问题。
背景介绍
假设我们有一个添加到收藏夹的功能,当用户点击“添加到收藏夹”按钮时,应该弹出一个AlertDialog,让用户输入标题并确认添加。我们已经将这个按钮抽取成一个无状态组件(AddToFavoritesButton),但在抽取后,AlertDialog不再显示,没有任何错误信息。
问题分析
在提问者提供的代码中,showAddFavoritePopup是一个函数,用于显示AlertDialog。然而,在AddToFavoritesButton组件中,onPressed事件的处理方式有误:
onPressed:(){showAddFavoritePopup