<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 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={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>