阅读时间:1 分钟
0 字
组件
@duxweb/uni 不是视觉组件库,所以这一页只列运行时相关组件。
UniSchemaRenderer
vue
<UniSchemaRenderer :schema="schema" :bindings="bindings" />vue
<script setup lang="ts">
import { computed } from 'vue'
import { UniSchemaRenderer } from '@duxweb/uni'
const schema = computed(() => [
{
tag: 'view',
children: [
{
tag: 'text',
text: 'Hello Dux Uni',
},
],
},
])
</script>
<template>
<UniSchemaRenderer :schema="schema" />
</template>用途:
- 直接渲染 schema 节点树
- 作为
useJsonSchema()的底层渲染组件
createSchemaRenderer / renderSchema
ts
createSchemaRenderer()
renderSchema()适合:
- 二次封装 schema 系统
- 模块内构造自己的 renderer
- 做更底层的运行时扩展
自动生成页面包装组件
严格来说,应用里还有一类运行时组件:
text
src/pages/* 下自动生成的页面包装组件它们不是给业务直接 import 的公共组件,但在运行时里非常重要。
职责:
- 对接 uni 页面目录约束
- 调用
usePageRuntime() - 再挂载真实模块页面
为什么这里组件不多
因为 @duxweb/uni 的定位不是视觉层,而是:
text
路由
请求
鉴权
查询
Schema
运行时桥接视觉组件请看 @duxweb/uni-pro。