Слияние кода завершено, страница обновится автоматически
import React, { Component } from 'react';
import { observer } from 'mobx-react';
import { Config, ConfigKeys, DefaultConfig } from 'choerodon-ui/lib/configure';
import ObserverTextField from '../text-field/TextField';
import TextArea from '../text-area/TextArea';
import { ResizeType } from '../text-area/enum';
import { IntlType } from './enum';
import Form from '../form/Form';
import localeContext from '../locale-context';
import Record from '../data-set/Record';
import { Lang } from '../locale-context/enum';
export interface IntlListProps {
record?: Record;
name?: string;
lang: Lang;
maxLengths?: object;
disabled?: boolean;
readOnly?: boolean;
type?: IntlType;
rows?: number;
cols?: number;
resize?: ResizeType;
getConfig<T extends ConfigKeys>(key: T): T extends keyof DefaultConfig ? DefaultConfig[T] : Config[T];
}
@observer
export default class IntlList extends Component<IntlListProps> {
renderOptions() {
const { name, lang, maxLengths, type, rows, cols, resize, getConfig } = this.props;
const { supports } = localeContext;
const tlsKey = getConfig('tlsKey');
const FieldTag = type === IntlType.multipleLine ? TextArea : ObserverTextField;
const otherProps = type === IntlType.multipleLine ? { rows, cols, resize } : {};
return Object.keys(supports).map(key => {
const maxLengthProps = maxLengths && maxLengths[key] ? { maxLength: maxLengths[key] } : {};
return (
<FieldTag
{...maxLengthProps}
name={name ? `${tlsKey}.${name}.${key}` : key}
autoFocus={key === lang}
key={key}
{...otherProps}
/>
);
});
}
render() {
const { record, disabled, readOnly } = this.props;
return <Form disabled={disabled} readOnly={readOnly} record={record}>{this.renderOptions()}</Form>;
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )