mirror of
https://gitee.com/ant-design/ant-design.git
synced 2024-12-01 11:39:28 +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
1.6 KiB
1.6 KiB
order | title | ||||
---|---|---|---|---|---|
4 |
|
zh-CN
受控模式,例如配合 Form 使用。
en-US
Controlled mode, for example, to work with Form
.
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);