Aller au contenu

DateOfBirth

Sélecteur de date de naissance avec ordre flexible, style du mois et validation d’âge.

import { DateOfBirth } from 'asterui'

Basique

Sélecteur par défaut mois/jour/année.

Default (MDY, 120 years)
import { DateOfBirth, Card, Space, Typography } from 'asterui'

function App() {
  return (
      <Card>
        <Space direction="vertical" size="sm">
          <Text type="secondary">Default (MDY, 120 years)</Text>
          <DateOfBirth />
        </Space>
      </Card>
    )
}

export default App

Ordre

Basculer vers l'ordre jour/mois/année.

DD/MM/YYYY order
import { DateOfBirth, Card, Space, Typography } from 'asterui'

function App() {
  return (
      <Card className="w-full max-w-xl">
        <Space direction="vertical" size="sm">
          <Text type="secondary">DD/MM/YYYY order</Text>
          <DateOfBirth order="dmy" />
        </Space>
      </Card>
    )
}

export default App

Grille de Mois

Grille compacte pour sélectionner le mois.

Month grid + compact day/year
import { DateOfBirth, Card, Space, Typography } from 'asterui'

function App() {
  return (
      <Card className="w-full max-w-xl">
        <Space direction="vertical" size="sm">
          <Text type="secondary">Month grid + compact day/year</Text>
          <DateOfBirth monthStyle="grid" yearStyle="select" />
        </Space>
      </Card>
    )
}

export default App

Saisie de l'Année

Utiliser un champ numérique et des règles d'âge.

Year input + custom age rules
import { DateOfBirth, Card, Space, Typography } from 'asterui'

function App() {
  return (
      <Card className="w-full max-w-xl">
        <Space direction="vertical" size="sm">
          <Text type="secondary">Year input + custom age rules</Text>
          <DateOfBirth yearStyle="input" minAge={18} yearSpan={90} />
        </Space>
      </Card>
    )
}

export default App

Contrôlé

Contrôler la valeur via l'état local.

Controlled value
{"month":"1","day":"15","year":"1995"}
import { DateOfBirth, Card, Space, Typography } from 'asterui'

function App() {
  const [value, setValue] = useState({ month: '1', day: '15', year: '1995' })
  
  return (
      <Card className="w-full max-w-xl">
        <Space direction="vertical" size="sm">
          <Text type="secondary">Controlled value</Text>
          <DateOfBirth value={value} onChange={setValue} />
          <Text type="secondary" className="text-xs">
            {JSON.stringify(value)}
          </Text>
        </Space>
      </Card>
    )
}

export default App

Formulaire

Intégration avec Form et envoi de la valeur.

Form integration

 

import { DateOfBirth, Card, Space, Typography, Form, Button, Modal } from 'asterui'

function App() {
  return (
      <Card className="w-full max-w-xl">
        <Space direction="vertical" size="sm">
          <Text type="secondary">Form integration</Text>
          <Form
            form={form}
            onFinish={handleFinish}
          >
            <Form.Item
              name="dob"
              {...DateOfBirth.required()}
            >
              <DateOfBirth />
            </Form.Item>
            <Button htmlType="submit">Submit</Button>
          </Form>
        </Space>
      </Card>
    )
}

export default App
PropriétéDescriptionTypePar défaut
valueValeur contrôlée{ month?: string; day?: string; year?: string }-
defaultValueValeur par défaut{ month?: string; day?: string; year?: string }-
onChangeGestionnaire de changement(value) => void-
orderOrdre des champs'mdy' | 'dmy' | 'ymd''mdy'
monthStyleStyle du mois'select' | 'grid''select'
yearStyleStyle de l’année'select' | 'input''select'
yearSpanNombre d’annéesnumber120
minAgeÂge minimum autorisénumber13
maxAgeÂge maximum autorisénumber-
monthPlaceholderPlaceholder du moisstring'Month'
dayPlaceholderPlaceholder du jourstring'Day'
yearPlaceholderPlaceholder de l’annéestring'Year'
disabledDésactiver le champbooleanfalse
sizeTaille du composant'xs' | 'sm' | 'md' | 'lg' | 'xl'-
classNameClasses CSS supplémentairesstring-
data-testidPréfixe d’ID de teststring-