From 25fa123d357a166df5b18f72dba5401a66db8bf7 Mon Sep 17 00:00:00 2001 From: webjoin111 <455457521@qq.com> Date: Sun, 31 Aug 2025 00:02:52 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(table):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=20ComponentCell=20=E4=BB=A5=E6=94=AF=E6=8C=81=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E5=8D=95=E5=85=83=E6=A0=BC=E4=B8=AD=E5=B5=8C=E5=85=A5?= =?UTF-8?q?=E5=8F=AF=E6=B8=B2=E6=9F=93=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zhenxun/ui/models/__init__.py | 2 ++ zhenxun/ui/models/core/__init__.py | 2 ++ zhenxun/ui/models/core/table.py | 9 +++++++++ 3 files changed, 13 insertions(+) diff --git a/zhenxun/ui/models/__init__.py b/zhenxun/ui/models/__init__.py index 34fb418c..7f65faa6 100644 --- a/zhenxun/ui/models/__init__.py +++ b/zhenxun/ui/models/__init__.py @@ -12,6 +12,7 @@ from .components import ( from .core import ( BaseCell, CodeElement, + ComponentCell, HeadingElement, ImageCell, ImageElement, @@ -49,6 +50,7 @@ __all__ = [ "BaseCell", "BaseChartData", "CodeElement", + "ComponentCell", "Divider", "EChartsData", "HeadingElement", diff --git a/zhenxun/ui/models/core/__init__.py b/zhenxun/ui/models/core/__init__.py index e19ed058..94ae517e 100644 --- a/zhenxun/ui/models/core/__init__.py +++ b/zhenxun/ui/models/core/__init__.py @@ -24,6 +24,7 @@ from .markdown import ( from .notebook import NotebookData, NotebookElement from .table import ( BaseCell, + ComponentCell, ImageCell, RichTextCell, StatusBadgeCell, @@ -38,6 +39,7 @@ __all__ = [ "BaseCell", "CardData", "CodeElement", + "ComponentCell", "DetailsData", "DetailsItem", "HeadingElement", diff --git a/zhenxun/ui/models/core/table.py b/zhenxun/ui/models/core/table.py index daef088b..0ce9eb78 100644 --- a/zhenxun/ui/models/core/table.py +++ b/zhenxun/ui/models/core/table.py @@ -10,6 +10,7 @@ from .text import TextSpan __all__ = [ "BaseCell", + "ComponentCell", "ImageCell", "ProgressBarCell", "RichTextCell", @@ -78,12 +79,20 @@ class RichTextCell(BaseCell): """片段之间的间距""" +class ComponentCell(BaseCell): + """一个通用的单元格,可以容纳任何可渲染的组件。""" + + type: str = "component" + component: RenderableComponent + + TableCell = ( TextCell | ImageCell | StatusBadgeCell | ProgressBarCell | RichTextCell + | ComponentCell | str | int | float