zhenxun_bot/zhenxun/ui/models/core/details.py

24 lines
651 B
Python
Raw Normal View History

from typing import Any
from pydantic import BaseModel, Field
from .base import RenderableComponent
class DetailsItem(BaseModel):
"""描述列表中的单个项目"""
label: str = Field(..., description="项目的标签/键")
value: Any = Field(..., description="项目的值")
class DetailsData(RenderableComponent):
"""描述列表(键值对)的数据模型"""
title: str | None = Field(None, description="列表的可选标题")
items: list[DetailsItem] = Field(default_factory=list, description="键值对项目列表")
@property
def template_name(self) -> str:
return "components/core/details"