import { Component } from 'react'; import { SettingField } from '@alilc/lowcode-engine'; import { SetterType, FieldConfig } from '@alilc/lowcode-types'; import './style.less'; interface ArraySetterState { items: SettingField[]; } interface ArraySetterProps { value: any[]; field: SettingField; itemSetter?: SetterType; columns?: FieldConfig[]; multiValue?: boolean; hideDescription?: boolean; onChange?: Function; extraProps: { renderFooter?: (options: ArraySetterProps & { onAdd: (val?: {}) => any; }) => any; }; } export declare class ListSetter extends Component { state: ArraySetterState; private scrollToLast; constructor(props: ArraySetterProps); init(): void; /** * onItemChange 用于 ArraySetter 的单个 index 下的数据发生变化, * 因此 target.path 的数据格式必定为 [propName1, propName2, arrayIndex, key?]。 * * @param target * @param value */ onItemChange: (target: SettingField) => void; onSort(sortedIds: Array): void; onAdd(newValue?: { [key: string]: any; }): void; onRemove(removed: SettingField): void; componentWillUnmount(): void; render(): JSX.Element; } export default class ArraySetter extends Component<{ value: any[]; field: SettingField; itemSetter?: SetterType; mode?: 'popup' | 'list'; forceInline?: boolean; multiValue?: boolean; }> { static contextType: any; private pipe; render(): JSX.Element; } export {};