polestar-ui-kit
Version:
## Install
130 lines (126 loc) • 4.81 kB
Markdown
Form component example:
[Ant Form API](https://ant.design/components/form/)
```jsx static
import React from 'react';
import { Form, Field } from 'polestar-ui-kit';
class MyComponentForm extends React.Component {
render() {
return (
<Form
className="custom-form"
>
<Form.Field
form={form}
label="사용자 ID"
name="ID"
value={formData ? formData.ID : null}
required
field={{
component: Field.IDInput,
options: {
readOnly: !!formData
}
}}
/>
<Form.Field
form={form}
label="사용자 명"
name="NAME"
value={formData ? formData.NAME : null}
required
field={Field.Input}
/>
<Form.Field
form={form}
label="사용자 비밀번호"
name="PASSWORD"
value={formData ? formData.PASSWORD : null}
required
field={{
component: Field.PasswordInput,
options: {
placeholder: '비밀번호는 최소 8자리 입니다.',
readOnly: !!formData,
}
}}
/>
<Form.Field
form={form}
label="나이"
name="AGE"
value={formData ? formData.AGE : null}
field={{
component: Field.InputNumber,
options: {
min: 1,
max: 120,
}
}}
/>
<Row gutter={24}>
<Col span={12}>
<Form.Field
form={form}
label="생년월일"
name="BIRTH"
// value={formData ? formData.BIRTH : null}
field={Field.DatePicker}
/>
</Col>
<Col span={12}>
<Form.Field
form={form}
label="도시"
name="CITY"
value={formData ? formData.CITY : null}
field={{
component: Field.Select,
options: {
items: [{
label: '서울',
value: 'seoul',
}, {
label: '대전',
value: 'daejeon',
}, {
label: '경기',
value: 'gyeunggi',
}]
}
}}
/>
</Col>
</Row>
<Row gutter={24}>
<Col span={12}>
<Form.Field
form={form}
label="핸드폰번호"
name="PHONE"
value={formData ? formData.PHONE : null}
field={Field.Input}
/>
</Col>
<Col span={12}>
<Form.Field
form={form}
label="E-Mail"
name="EMAIL"
value={formData ? formData.EMAIL : null}
field={Field.EmailInput}
/>
</Col>
</Row>
<Form.Field
form={form}
label="인사말"
name="INTRODUCE"
value={formData ? formData.INTRODUCE : null}
field={Field.TextArea}
/>
</Form>
);
}
}
export default Form.Create(MyComponentForm);
```