UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

123 lines (122 loc) 2.73 kB
import type { Option, SchemaBoolean, SchemaClassName, SchemaExpression } from 'jamis-core'; import type { ActionSchema, BaseSchema, FormBaseControl, OptionsControlProps, SizeUnit } from '../types'; /** * Button Group 渲染器。 * * button-group组件, 会默认当成formitem处理, 逻辑在compact.ts里 */ export interface ButtonGroupSchema extends BaseSchema, FormBaseControl { /** * 指定为提交按钮类型 */ type: 'button-group'; /** * 给 Button 配置 className。建议用btnLevel */ btnClassName?: SchemaClassName; /** * 给选中态 Button 配置 className。建议用btnActiveLevel * @deprecated 使用 btnActiveLevel */ btnActiveClassName?: string; /** * 按钮集合 */ buttons?: Array<ActionSchema>; /** * 按钮样式级别 */ btnLevel?: string; /** * 按钮选中的样式级别 */ btnActiveLevel?: string; /** * 垂直展示? */ vertical?: boolean; /** * 平铺展示? */ tiled?: boolean; /** * 是否为禁用状态。 */ disabled?: boolean; /** * 通过 JS 表达式来配置当前表单项的禁用状态。 */ disabledOn?: SchemaBoolean; /** * 是否显示 */ visible?: boolean; /** * 通过 JS 表达式来配置当前表单项是否显示 */ visibleOn?: SchemaBoolean; /** * 按钮大小 */ size?: SizeUnit; /** * 按钮选项 */ options?: Array<Option>; /** * @todo 没有实现 */ multiple?: boolean; } export interface ButtonGroupProps extends OptionsControlProps { /** * 给 Button 配置 className。建议用btnLevel */ btnClassName?: string; /** * 给选中态 Button 配置 className。建议用btnActiveLevel */ btnActiveClassName?: string; /** * 按钮集合 */ buttons?: Array<ActionSchema>; /** * 按钮样式级别 */ btnLevel?: string; /** * 按钮选中的样式级别 */ btnActiveLevel?: string; /** * 垂直展示? */ vertical?: boolean; /** * 平铺展示? */ tiled?: boolean; /** * 是否为禁用状态。 */ disabled?: boolean; /** * 通过 JS 表达式来配置当前表单项的禁用状态。 */ disabledOn?: SchemaBoolean; /** * 是否显示 */ visible?: boolean; /** * 通过 JS 表达式来配置当前表单项是否显示 */ visibleOn?: SchemaExpression; /** * 按钮大小 */ size?: 'xs' | 'sm' | 'md' | 'lg'; clearable?: boolean; [key: string]: any; }