jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
48 lines (47 loc) • 1.47 kB
TypeScript
import React from 'react';
import type { LocaleProps, ThemeProps } from 'jamis-core';
import Sortable from 'sortablejs';
export interface ArrayInputProps extends ThemeProps, LocaleProps {
value?: Array<any>;
onChange?: (value: Array<any>) => void;
placeholder: string;
itemRender: (props: {
value: any;
onChange: (value: any) => void;
index: number;
disabled?: boolean;
}) => JSX.Element;
itemInitalValue?: any;
maxLength?: number;
minLength?: number;
disabled?: boolean;
sortable?: boolean;
removable?: boolean;
addable?: boolean;
editable?: boolean;
sortTip?: string;
}
export declare class ArrayInput extends React.Component<ArrayInputProps> {
static defaultProps: {
placeholder: string;
itemRender: ({ value, onChange }: {
value: any;
onChange: (value: any) => void;
index: number;
disabled?: boolean;
}) => JSX.Element;
};
id: string;
dragTip?: HTMLElement;
sortable?: Sortable;
handleItemOnChange(index: number, itemValue: any): void;
dragTipRef(ref: any): void;
handleAdd(): void;
handleRemove(e: React.MouseEvent<HTMLElement>): void;
initDragging(): void;
destroyDragging(): void;
renderItem(value: any, index: number, collection: Array<any>): JSX.Element;
render(): JSX.Element;
}
declare const _default: typeof ArrayInput;
export default _default;