UNPKG

cjd-parkball

Version:

> 中后台业务组件库,中后台就像公园,进入需要买门票(登录),所以以 Parkball(公园球) 命名,公园内必定捕获!作为一个组件库,提供使用方法文档,方便开发者的调用

85 lines (71 loc) 2.37 kB
--- category: 2 title: 水平登录栏 title_en: Horizontal Login Form --- zh-CN 水平登录栏,常用在顶部导航栏中。 en-US Horizontal login form is often used in navigation bar. ````jsx import { Form, Icon, Input, Button } from 'parkball'; const FormItem = Form.Item; function hasErrors(fieldsError) { return Object.keys(fieldsError).some(field => fieldsError[field]); } class HorizontalLoginForm extends React.Component { componentDidMount() { // To disabled submit button at the beginning. this.props.form.validateFields(); } handleSubmit = (e) => { e.preventDefault(); this.props.form.validateFields((err, values) => { if (!err) { console.log('Received values of form: ', values); } }); } render() { const { getFieldDecorator, getFieldsError, getFieldError, isFieldTouched } = this.props.form; // Only show error after a field is touched. const userNameError = isFieldTouched('userName') && getFieldError('userName'); const passwordError = isFieldTouched('password') && getFieldError('password'); return ( <Form layout="inline" onSubmit={this.handleSubmit}> <FormItem validateStatus={userNameError ? 'error' : ''} help={userNameError || ''} > {getFieldDecorator('userName', { rules: [{ required: true, message: 'Please input your username!' }], })( <Input prefix={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }} />} placeholder="Username" /> )} </FormItem> <FormItem validateStatus={passwordError ? 'error' : ''} help={passwordError || ''} > {getFieldDecorator('password', { rules: [{ required: true, message: 'Please input your Password!' }], })( <Input prefix={<Icon type="lock" style={{ color: 'rgba(0,0,0,.25)' }} />} type="password" placeholder="Password" /> )} </FormItem> <FormItem> <Button type="primary" htmlType="submit" disabled={hasErrors(getFieldsError())} > Log in </Button> </FormItem> </Form> ); } } const WrappedHorizontalLoginForm = Form.create()(HorizontalLoginForm); ReactDOM.render(<WrappedHorizontalLoginForm />, mountNode); ````