jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
56 lines (55 loc) • 1.16 kB
TypeScript
import type { RendererProps, SchemaClassName } from 'jamis-core';
import type { BaseSchema, SchemaCollection } from '../types';
/**
* Card2 新卡片组件。
*
*/
export interface Card2Schema extends BaseSchema {
/**
* 指定为 card2 类型
*/
type: 'card2';
/**
* 内容
*/
body: SchemaCollection;
/**
* body 类名
*/
bodyClassName?: SchemaClassName;
/**
* 隐藏选框
*/
hideCheckToggler?: boolean;
/**
* 不配置href且cards容器下生效,点击整个卡片触发选中
*/
checkOnItemClick: boolean;
/**
* 渲染标签
*/
wrapperComponent?: string;
}
export interface Card2Props extends RendererProps, Omit<Card2Schema, 'type' | 'className'> {
/**
* 数据
*/
item: any;
/**
* 是否可选,当disabled时,将禁用
*/
selectable?: boolean;
/**
* 是否可多选
*/
multiple?: boolean;
/**
* 是否默认选中
*/
selected?: boolean;
/**
* 选择事件
*/
onCheck: (item: any) => Promise<void>;
onClickBefore?: () => Promise<boolean>;
}