diff --git a/Sources/SwiftBricks/Renderer/ControlRenderer.swift b/Sources/SwiftBricks/Renderer/ControlRenderer.swift index 116ff6d..058ebfd 100644 --- a/Sources/SwiftBricks/Renderer/ControlRenderer.swift +++ b/Sources/SwiftBricks/Renderer/ControlRenderer.swift @@ -26,6 +26,16 @@ public struct ControlRenderer: View { func renderWidget(_ schema: ControlSchema) -> some View { let type = schema.widgettype + // 优先查找自定义注册的widget + if let factory = engine.getWidgetFactory(type: type) { + factory(schema, engine) + } else { + renderKnownWidget(schema, type: type) + } + } + + @ViewBuilder + func renderKnownWidget(_ schema: ControlSchema, type: String) -> some View { switch type { // 文本类 case "Text":