如何在Flet(v0.22.*)中等待确认对话框并根据选择执行操作
Flet 0.22.* 实现按钮点击弹出确认对话框并执行对应逻辑
核心实现方式
在Flet 0.22.*版本中,可通过page.show_confirm_dialog()方法唤起确认对话框,该方法会返回用户的选择结果(True对应“确认”,False对应“取消”),以此为分支执行不同逻辑。
完整代码示例
import flet as ft def main(page: ft.Page): page.title = "确认对话框演示" def handle_button_click(e): # 弹出确认对话框 user_choice = page.show_confirm_dialog( ft.AlertDialog( title=ft.Text("确认操作"), content=ft.Text("确定要执行此操作吗?"), actions=[ ft.TextButton("取消", on_click=lambda e: page.close_dialog(False)), ft.TextButton("确认", on_click=lambda e: page.close_dialog(True)), ], actions_alignment=ft.MainAxisAlignment.END, ) ) # 根据选择执行对应逻辑 if user_choice: # 替换为你的确认后业务逻辑 page.add(ft.Text("操作已执行", color=ft.colors.GREEN_700)) else: # 替换为你的取消后业务逻辑 page.add(ft.Text("操作已取消", color=ft.colors.RED_700)) page.add(ft.ElevatedButton("触发操作", on_click=handle_button_click)) if __name__ == "__main__": ft.app(target=main)
关键细节说明
page.show_confirm_dialog()会暂停后续代码执行,直到用户关闭对话框,返回用户的选择值。- 对话框的操作按钮通过
AlertDialog的actions参数定义,使用page.close_dialog(值)传递用户选择。 - 可直接根据返回的布尔值分支编写业务逻辑,无需额外状态判断。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

