UI Schema
UI Schema là giao thức mà NocoBase dùng để mô tả component frontend, dựa trên Formily Schema 2.0, theo phong cách JSON Schema. Trong FlowEngine, trường uiSchema của registerFlow chính là dùng cú pháp này để định nghĩa UI của bảng cấu hình.
Cách dùng cơ bản
Component đơn giản nhất
Tất cả các thẻ HTML gốc đều có thể chuyển thành cách viết schema:
Tương đương với JSX:
Component con
Component children được viết trong properties:
Tương đương với JSX:
Mô tả thuộc tính
type
Loại của node:
name
Tên schema. Tên của node con là key của properties:
title
Tiêu đề của node, thường được dùng cho label của Field trong form.
x-component
Tên component. Có thể là thẻ HTML gốc, cũng có thể là component React đã đăng ký:
x-component-props
Thuộc tính component:
x-decorator
Component bao. Sự kết hợp x-decorator + x-component, có thể đặt hai component vào một schema node — giảm độ phức tạp cấu trúc, tăng tỷ lệ tái sử dụng.
Ví dụ trong tình huống form, FormItem chính là decorator:
Tương đương với JSX:
x-display
Trạng thái hiển thị của component:
x-pattern
Chế độ tương tác của component Field:
Sử dụng trong registerFlow
Trong phát triển Plugin, uiSchema chủ yếu được dùng trong bảng cấu hình của registerFlow. Mỗi Field thường được bọc bằng 'x-decorator': 'FormItem':
v2 tương thích với cú pháp uiSchema, tuy nhiên ngữ cảnh sử dụng có hạn — chủ yếu được dùng trong bảng cấu hình của Flow để mô tả UI form. Phần lớn việc render component runtime khuyến nghị dùng trực tiếp component Antd.
Bảng tra cứu component phổ biến
Liên kết liên quan
- Tổng quan FlowEngine (Phát triển Plugin) — Cách dùng thực tế uiSchema trong registerFlow
- FlowDefinition — Mô tả tham số đầy đủ của registerFlow
- Tài liệu Formily Schema — Giao thức Formily mà uiSchema dựa trên

