mirror of
https://gitee.com/ant-design-vue/ant-design-vue.git
synced 2024-12-05 05:29:01 +08:00
168 lines
5.9 KiB
Vue
168 lines
5.9 KiB
Vue
<script>
|
||
import AdvancedSearch from './advanced-search';
|
||
import AdvancedSearchString from '!raw-loader!./advanced-search';
|
||
import Coordinated from './coordinated';
|
||
import CoordinatedString from '!raw-loader!./coordinated';
|
||
import CustomizedFormControls from './customized-form-controls';
|
||
import CustomizedFormControlsString from '!raw-loader!./customized-form-controls';
|
||
import DynamicFormItem from './dynamic-form-item';
|
||
import DynamicFormItemString from '!raw-loader!./dynamic-form-item';
|
||
import DynamicRule from './dynamic-rule';
|
||
import DynamicRuleString from '!raw-loader!./dynamic-rule';
|
||
import FormInModal from './form-in-modal';
|
||
import FormInModalString from '!raw-loader!./form-in-modal';
|
||
import GlobalState from './global-state';
|
||
import GlobalStateString from '!raw-loader!./global-state';
|
||
import VuexState from './vuex';
|
||
import VuexStateString from '!raw-loader!./vuex';
|
||
import HorizontalLogin from './horizontal-login';
|
||
import HorizontalLoginString from '!raw-loader!./horizontal-login';
|
||
import Layout from './layout';
|
||
import LayoutString from '!raw-loader!./layout';
|
||
import NormalLogin from './normal-login';
|
||
import NormalLoginString from '!raw-loader!./normal-login';
|
||
import Register from './register';
|
||
import RegisterString from '!raw-loader!./register';
|
||
import TimeRelatedControls from './time-related-controls';
|
||
import TimeRelatedControlsString from '!raw-loader!./time-related-controls';
|
||
import ValidateOther from './validate-other';
|
||
import ValidateOtherString from '!raw-loader!./validate-other';
|
||
import ValidateStatic from './validate-static';
|
||
import ValidateStaticString from '!raw-loader!./validate-static';
|
||
import WithoutFormCreate from './without-form-create';
|
||
import WithoutFormCreateString from '!raw-loader!./without-form-create';
|
||
|
||
import CN from '../index.zh-CN';
|
||
import US from '../index.en-US';
|
||
|
||
const md = {
|
||
cn: `# Form 表单
|
||
具有数据收集、校验和提交功能的表单,包含复选框、单选框、输入框、下拉选择框等元素。
|
||
|
||
## 表单
|
||
|
||
我们为 \`form\` 提供了以下三种排列方式:
|
||
|
||
- 水平排列:标签和表单控件水平排列;(默认)
|
||
- 垂直排列:标签和表单控件上下垂直排列;
|
||
- 行内排列:表单项水平行内排列。
|
||
|
||
## 表单域
|
||
|
||
表单一定会包含表单域,表单域可以是输入控件,标准表单域,标签,下拉菜单,文本域等。
|
||
|
||
这里我们封装了表单域 \`<Form.Item />\` 。
|
||
|
||
|
||
## 注意:
|
||
1、如果使用 \`Form.create\` 处理表单使其具有自动收集数据并校验的功能,建议使用\`jsx\`。
|
||
2、如果不是使用Vue.use(Form)形式注册的\`Form\`组件,你需要自行将\`$form\`挂载到Vue原型上。
|
||
\`Vue.prototype.$form = Form\`
|
||
|
||
|
||
## 代码演示
|
||
`,
|
||
us: `# Form
|
||
Form is used to collect, validate, and submit the user input, usually contains various form items including checkbox, radio, input, select, and etc.
|
||
|
||
## Form
|
||
|
||
You can align the controls of a \`form\` using the \`layout\` prop:
|
||
|
||
- \`horizontal\`:to horizontally align the \`label\`s and controls of the fields. (Default)
|
||
- \`vertical\`:to vertically align the \`label\`s and controls of the fields.
|
||
- \`inline\`:to render form fields in one line.
|
||
|
||
## Form fields
|
||
|
||
A form consists of one or more form fields whose type includes input, textarea, checkbox, radio, select, tag, and more.
|
||
A form field is defined using \`<Form.Item />\`.
|
||
|
||
## Note:
|
||
1. If you use \`Form.create\` to process the form to have the ability to automatically collect data and verify it, it is recommended to use \`jsx\`.
|
||
2. If you are not using the \`Form\` component registered in Vue.use(Form) form, you need to mount \`$form\` to the Vue prototype yourself.
|
||
\`Vue.prototype.$form = Form\`
|
||
|
||
## Examples
|
||
`,
|
||
};
|
||
|
||
export default {
|
||
category: 'Components',
|
||
subtitle: '表单',
|
||
type: 'Data Entry',
|
||
zhType: '数据录入',
|
||
cols: 1,
|
||
title: 'Form',
|
||
render () {
|
||
return (
|
||
<div>
|
||
<md cn={md.cn} us={md.us} />
|
||
<demo-container code={CoordinatedString}>
|
||
<Coordinated />
|
||
</demo-container>
|
||
<demo-container code={DynamicRuleString}>
|
||
<DynamicRule />
|
||
</demo-container>
|
||
<demo-container code={HorizontalLoginString}>
|
||
<HorizontalLogin />
|
||
</demo-container>
|
||
<demo-container code={LayoutString}>
|
||
<Layout />
|
||
</demo-container>
|
||
<demo-container code={ValidateStaticString}>
|
||
<ValidateStatic />
|
||
</demo-container>
|
||
<demo-container code={WithoutFormCreateString}>
|
||
<WithoutFormCreate />
|
||
</demo-container>
|
||
|
||
<demo-container code={AdvancedSearchString}>
|
||
<AdvancedSearch />
|
||
</demo-container>
|
||
<demo-container code={CustomizedFormControlsString}>
|
||
<CustomizedFormControls />
|
||
</demo-container>
|
||
<demo-container code={DynamicFormItemString}>
|
||
<DynamicFormItem />
|
||
</demo-container>
|
||
<demo-container code={FormInModalString}>
|
||
<FormInModal />
|
||
</demo-container>
|
||
<demo-container code={GlobalStateString}>
|
||
<GlobalState />
|
||
</demo-container>
|
||
<demo-container code={VuexStateString}>
|
||
<VuexState />
|
||
</demo-container>
|
||
<demo-container code={NormalLoginString}>
|
||
<NormalLogin />
|
||
</demo-container>
|
||
<demo-container code={RegisterString}>
|
||
<Register />
|
||
</demo-container>
|
||
<demo-container code={TimeRelatedControlsString}>
|
||
<TimeRelatedControls />
|
||
</demo-container>
|
||
<demo-container code={ValidateOtherString}>
|
||
<ValidateOther />
|
||
</demo-container>
|
||
<api>
|
||
<CN slot='cn' />
|
||
<US />
|
||
</api>
|
||
</div>
|
||
);
|
||
},
|
||
};
|
||
</script>
|
||
<style>
|
||
.code-box-demo .ant-form:not(.ant-form-inline):not(.ant-form-vertical) {
|
||
max-width: 600px;
|
||
}
|
||
.markdown.api-container table td:last-child {
|
||
white-space: nowrap;
|
||
word-wrap: break-word;
|
||
}
|
||
</style>
|