A pack of extensions for grommet 2
created:7/7/2021
updated:7/7/2021
loc
8
comments
38%
failed
6
coverage
100%

SelectField

avatar of atanasster

A Select field with form validation

Component

import { SelectField } from 'grommet-controls';

Main

() => (
<Form
onSubmit={() => console.log('onSubmit')}
pad={{ horizontal: 'small' }}
focusFirstChild={false}
>
<SelectField
label="Country"
name="country"
options={['USA', 'England', 'France']}
/>
<Box pad="small">
<Button type="submit" label="Submit" />
</Box>
</Form>
)

Properties

Name
Description
Default
IWithFormFieldProps(7 properties)
validation

default validation rules

ValidationType | ValidationType[]
-
name

field name

string
-
label

field label

ReactNode
-
description

field help/description

string
-
controlLabel

if separate - label of the FormField

ReactNode
-
inField

whether the field is in a FormField

boolean
-
children

child component

((props: IFieldProps) => any) & ((...args: any[]) => any)
-
SelectProps(36 properties)

Commits

Date
Author
Commit Message
8/30/2020

atanasster

avatar of atanasster
update eslint and add component-controls
8/27/2019

atanasster

avatar of atanasster
initial commit 2.x alpha
2 commits

External dependencies

package
imports
peer
grommet
^2.15.0
SelectPropsSelect
*
react
^17.0.1
React
*

Internal dependencies

file
imports
"../WithFormField"
WithFormFieldIWithFormFieldProps

Component JSX

<WithFormField
>
WithFormField
from"../WithFormField"
<Select
options
/>
grommet
^2.15.0

Stories

In Field

() => (
<Form
onSubmit={() => console.log('onSubmit')}
pad={{ horizontal: 'small' }}
focusFirstChild={false}
>
<SelectField
label="Country"
name="country"
inField={false}
options={['USA', 'England', 'France']}
/>
<Box pad="small">
<Button type="submit" label="Submit" />
</Box>
</Form>
)

Validation

() => (
<Form
onSubmit={() => console.log('onSubmit')}
pad={{ horizontal: 'small' }}
focusFirstChild={false}
>
<SelectField
label="Country"
name="country"
options={['USA', 'England', 'France']}
validation={[validators.required()]}
/>
<Box pad="small">
<Button type="submit" label="Submit" />
</Box>
</Form>
)