injections
描述
@silver-formily/vue 的所有 Symbol,可以通过注入这些 Symbol 来消费上下文实现更复杂的定制化开发。
FormSymbol
描述
Form 上下文,可以获取当前 Form 实例
签名
ts
import type { Form } from '@formily/core'
import type { InjectionKey, Ref } from 'vue'
export const FormSymbol: InjectionKey<Ref<Form>> = Symbol('form')FieldSymbol
描述
字段上下文,可以获取当前字段实例
签名
ts
import type { GeneralField } from '@formily/core'
import type { InjectionKey, Ref } from 'vue'
export const FieldSymbol: InjectionKey<Ref<GeneralField>> = Symbol('field')SchemaMarkupSymbol
描述
Schema 标签上下文,主要用于收集 JSX Markup 写法的 Schema 标签,然后转换成标准 JSON Schema
完整的 Schema 协议、属性定义和联动规则请查看 JSON Schema 重建文档站。当前页只说明 @silver-formily/vue 暴露出来的注入点。
签名
ts
import type { Schema } from '@formily/json-schema'
import type { InjectionKey, Ref } from 'vue'
export const SchemaMarkupSymbol: InjectionKey<Ref<Schema>>
= Symbol('schemaMarkup')SchemaSymbol
描述
字段 Schema 上下文,主要用于获取当前字段的 Schema 信息
Schema 类型的完整 API 已迁移到 JSON Schema 重建文档站,本页不重复维护协议细节。站内桥接页见 Schema。
签名
ts
import type { Schema } from '@formily/json-schema'
import type { InjectionKey, Ref } from 'vue'
export const SchemaSymbol: InjectionKey<Ref<Schema>> = Symbol('schema')SchemaExpressionScopeSymbol
描述
Schema 表达式作用域上下文
签名
ts
import type { InjectionKey, Ref } from 'vue'
export type SchemaExpressionScope = Record<string, unknown>
export const SchemaExpressionScopeSymbol: InjectionKey<
Ref<SchemaExpressionScope>
> = Symbol('schemaExpression')SchemaOptionsSymbol
描述
Schema 全局参数上下文,主要用于获取从 createSchemaField 传入的参数
签名
ts
import type { InjectionKey, Ref } from 'vue'
export interface ISchemaFieldVueFactoryOptions<
Components extends SchemaVueComponents = SchemaVueComponents,
> {
components?: Components
scope?: SchemaExpressionScope
}
export const SchemaOptionsSymbol: InjectionKey<
Ref<ISchemaFieldVueFactoryOptions>
> = Symbol('schemaOptions')