feat: Optimize simple-form component
1. Optimize simple-form component to support form item onChange function 2. Update login to support custom render Change-Id: I8952d4bd3cff85eeccd76363a8a9c3f3aff3ee25
This commit is contained in:
parent
6872acf19b
commit
256d7d473e
@ -65,7 +65,7 @@ export default class index extends Component {
|
|||||||
const { formItems } = this.props;
|
const { formItems } = this.props;
|
||||||
// eslint-disable-next-line no-shadow
|
// eslint-disable-next-line no-shadow
|
||||||
return formItems.map((it, index) => {
|
return formItems.map((it, index) => {
|
||||||
const { name, hidden, dependencies = [], className } = it;
|
const { name, hidden, dependencies = [], className, onChange } = it;
|
||||||
const options = {
|
const options = {
|
||||||
name,
|
name,
|
||||||
rules: this.getFormItemRules(it),
|
rules: this.getFormItemRules(it),
|
||||||
@ -73,6 +73,9 @@ export default class index extends Component {
|
|||||||
dependencies,
|
dependencies,
|
||||||
className,
|
className,
|
||||||
};
|
};
|
||||||
|
if (onChange) {
|
||||||
|
options.onChange = onChange;
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<Form.Item {...options} key={`${name}-${index}`}>
|
<Form.Item {...options} key={`${name}-${index}`}>
|
||||||
{this.renderFormItem(it)}
|
{this.renderFormItem(it)}
|
||||||
|
@ -23,9 +23,7 @@ import i18n from 'core/i18n';
|
|||||||
import { isEmpty } from 'lodash';
|
import { isEmpty } from 'lodash';
|
||||||
import styles from './index.less';
|
import styles from './index.less';
|
||||||
|
|
||||||
@inject('rootStore')
|
export class Login extends Component {
|
||||||
@observer
|
|
||||||
export default class Login extends Component {
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.init();
|
this.init();
|
||||||
@ -275,6 +273,10 @@ export default class Login extends Component {
|
|||||||
this.formRef = React.createRef();
|
this.formRef = React.createRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderExtra() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@ -290,7 +292,10 @@ export default class Login extends Component {
|
|||||||
formRef={this.formRef}
|
formRef={this.formRef}
|
||||||
size="large"
|
size="large"
|
||||||
/>
|
/>
|
||||||
|
{this.renderExtra()}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default inject('rootStore')(observer(Login));
|
||||||
|
Loading…
Reference in New Issue
Block a user