概述
简介
Schema 构成了 Filament 服务器驱动 UI 方法的基础。它们允许你使用 PHP 配置对象以声明方式构建用户界面。这些配置对象代表定义 UI 结构和行为的组件,例如表单、表格或列表。你无需手动编写 HTML 或 JavaScript,而是创建这些 Schema 来控制在服务器上渲染的内容,从而简化开发并确保整个应用的一致性。
Schema 在 Filament 中被广泛用于动态渲染 UI 元素。无论你是定义表单字段、页面布局还是操作按钮,Schema 对象都定义了组件的配置及其与数据的交互方式。本质上,Schema 是 Filament UI 的构建块。
Filament 软件包为你提供各种组件。你可以在 可用组件区域 中找到完整列表:
- 表单字段 接受用户的输入,例如文本输入、选择框或复选框。它们带有集成的验证功能。
- 信息列表条 目 是用于渲染“描述列表”的组件。条目是键值对 UI 元素,可以渲染只读信息,例如文本、图标和图像。信息列表的数据可以来自任何位置,但通常来自单个 Eloquent 记录。
- 布局组件 用于结构化组件。例如,网格、选项卡或多步骤表单向导。
- 主组件 是一些简单的组件,用于渲染基本的独立静态内容,例如文本、图像和按钮(操作)。
Schema 作为许多组件的容器,你可以在其中添加任意组件组合。组件还可以嵌套子 Schema,从而实现无限级嵌套。
Schema 由 Filament\Schemas\Schema 对象表示,你可以在 components() 方法中将组件数组传递给它。
可用组件
为了构建表单,Filament 包含一组针对不同数据类型的字段:
- Text input
- Select
- Checkbox
- Toggle
- Checkbox 列表
- Radio
- 日期时间选择器
- 文件上传组件
- 富文本编辑器
- Markdown 编辑器
- Repeater
- Builder
- 标签输入框
- Textarea
- Key-value
- Color picker
- Toggle buttons
- Slider
- 代码编辑器
- Hidden
- 或者,创建你自己的自定义表单字段
为了以标签-值“描述列表”格式显示数据,Filament 包含 信息列表 条目组件:
- Text entry
- Icon entry
- Image entry
- Color entry
- Code entry
- Key-value entry
- Repeatable entry
- 或者,创建你自己的自定义信息列表条目
为了将组件排列到布局中,Filament 包含布局组件:
为了显示任意内容,Filament 包含 prime 组件:
你也可以将“操作”按钮插入到 Schema 中。这些按钮可以运行 PHP 函数,甚至可以打开模态窗口。更多信息,请参阅 操作文档。
你可以在 自定义组件文档 中了解更多关于构建自定义组件以渲染你自己的 Blade 视图的信息。