mirror of
https://gitee.com/ant-design/ant-design.git
synced 2024-12-03 04:30:06 +08:00
4cdf37bedb
* init form * first demo * add normal login * add style * webit * support nest errors * beauti form errors * use onReset * modal demo * add list demo * match key of errors logic * date demo * customize component * moving style * add status style * without form create * add demos * add inline style * clean up legacy * fix drawer demo * mention * fix edit-row * editable table cell * update mentions demo * fix some test case * fix upload test * fix lint * part of doc * fix ts * doc update * rm react 15 * rm config * enhance test coverage * clean up * fix FormItem context pass logic * add more demo * en to build * update demo * update demo & snapshot * more doc * update list doc * update doc * update demo to display condition render * update snapshot * add provider doc * support configProvider * more doc about validateMessages * more description * more and more doc * fix typo * en doc * Form.List doc * m v3 -> v4 * add skip
76 lines
1.6 KiB
Markdown
76 lines
1.6 KiB
Markdown
---
|
|
order: 4
|
|
title:
|
|
zh-CN: 配合 Form 使用
|
|
en-US: With Form
|
|
---
|
|
|
|
## zh-CN
|
|
|
|
受控模式,例如配合 Form 使用。
|
|
|
|
## en-US
|
|
|
|
Controlled mode, for example, to work with `Form`.
|
|
|
|
```tsx
|
|
import { Mention, Form, Button } from 'antd';
|
|
|
|
const { toContentState, getMentions } = Mention;
|
|
const FormItem = Form.Item;
|
|
|
|
const App = () => {
|
|
const [form] = Form.useForm();
|
|
|
|
const checkMention = (rule, value, callback) => {
|
|
const mentions = getMentions(form.getFieldValue('mention'));
|
|
if (mentions.length < 2) {
|
|
callback(new Error('More than one must be selected!'));
|
|
} else {
|
|
callback();
|
|
}
|
|
};
|
|
|
|
const onReset = () => {
|
|
form.resetFields();
|
|
};
|
|
|
|
const onFinish = values => {
|
|
console.log('Submit:', values);
|
|
};
|
|
|
|
return (
|
|
<Form
|
|
form={form}
|
|
layout="horizontal"
|
|
initialValues={{ mention: toContentState('@afc163') }}
|
|
onFinish={onFinish}
|
|
>
|
|
<FormItem
|
|
name="mention"
|
|
id="control-mention"
|
|
label="Top coders"
|
|
labelCol={{ span: 6 }}
|
|
wrapperCol={{ span: 16 }}
|
|
rules={[{ validator: checkMention }]}
|
|
>
|
|
<Mention
|
|
defaultSuggestions={['afc163', 'benjycui', 'yiminghe', 'RaoHai', '中文', 'にほんご']}
|
|
/>
|
|
</FormItem>
|
|
<FormItem wrapperCol={{ span: 14, offset: 6 }}>
|
|
<Button htmlType="submit" type="primary">
|
|
Submit
|
|
</Button>
|
|
|
|
<Button htmlType="button" onClick={onReset}>
|
|
Reset
|
|
</Button>
|
|
</FormItem>
|
|
</Form>
|
|
);
|
|
};
|
|
|
|
ReactDOM.render(<App />, mountNode);
|
|
```
|