You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Flet模块中点击TextButton获取自定义data属性?

Flet TextButton 获取自定义data属性的解决方法

在Flet 0.1.62版本中,TextButton的点击事件参数e.data不会自动携带自定义的data属性,这是和ElevatedButton的实现差异导致的。你可以通过以下两种方法实现需求:

方法1:通过lambda传递自定义数据

创建TextButton时,用lambda函数将自定义数据直接传给点击处理函数:

import flet as ft

def main(page: ft.Page):
    def btn_clicked(e, custom_data):
        print(f"获取到的自定义数据:{custom_data}")

    page.add(
        ft.TextButton("按钮A", on_click=lambda e: btn_clicked(e, "data_A")),
        ft.TextButton("按钮B", on_click=lambda e: btn_clicked(e, "data_B"))
    )

ft.app(target=main)

方法2:访问按钮实例的data属性

给TextButton设置data属性后,在处理函数中通过e.control.data直接获取(e.control就是触发事件的按钮本身):

import flet as ft

def main(page: ft.Page):
    def btn_clicked(e):
        print(f"获取到的自定义数据:{e.control.data}")

    page.add(
        ft.TextButton("按钮X", data="data_X", on_click=btn_clicked),
        ft.TextButton("按钮Y", data="data_Y", on_click=btn_clicked)
    )

ft.app(target=main)

第二种方法更贴近你参考的计算器示例逻辑,推荐使用。

内容的提问来源于stack exchange,提问作者Javid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 13:35:15