扩展面板列表 ExpansionPanelList
一个材料扩展面板列表,它布局其子项并动画展开。
例子
简单例子
- Python
import flet as ft
def main(page: ft.Page):
def handle_change(e: ft.ControlEvent):
print(f"更改了索引为 {e.data} 的面板")
def handle_delete(e: ft.ControlEvent):
panel.controls.remove(e.control.data)
page.update()
panel = ft.ExpansionPanelList(
expand_icon_color=ft.colors.AMBER,
elevation=8,
divider_color=ft.colors.AMBER,
on_change=handle_change,
controls=[
ft.ExpansionPanel(
# 没有标题和内容 - 将使用占位符
bgcolor=ft.colors.BLUE_400,
expanded=True,
)
]
)
colors = [
ft.colors.GREEN_500,
ft.colors.BLUE_800,
ft.colors.RED_800,
]
for i in range(3):
exp = ft.ExpansionPanel(
bgcolor=colors[i % len(colors)],
header=ft.ListTile(title=ft.Text(f"面板 {i}")),
)
exp.content = ft.ListTile(
title=ft.Text(f"这是在面板 {i} 中"),
subtitle=ft.Text(f"点击图标删除面板 {i}"),
trailing=ft.IconButton(ft.icons.DELETE, on_click=handle_delete, data=exp),
)
panel.controls.append(exp)
page.add(panel)
ft.app(target=main)
ExpansionPanelList
属性
controls
要在 ExpansionPanelList
内显示的 ExpansionPanel
的列表。