Ir al contenido

DateOfBirth

Selector de fecha de nacimiento con orden flexible, estilo de mes y validación de edad.

import { DateOfBirth } from 'asterui'

Básico

Selector predeterminado de mes/día/año.

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

Orden

Cambiar al orden día/mes/año.

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

Cuadrícula de Meses

Cuadrícula compacta para seleccionar el mes.

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

Entrada de Año

Usa un campo numérico para el año y reglas de edad.

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

Controlado

Controla el valor mediante estado 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

Formulario

Integración con Form y envío del valor.

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
PropiedadDescripciónTipoPredeterminado
valueValor controlado{ month?: string; day?: string; year?: string }-
defaultValueValor predeterminado{ month?: string; day?: string; year?: string }-
onChangeManejador de cambio(value) => void-
orderOrden de campos'mdy' | 'dmy' | 'ymd''mdy'
monthStyleEstilo del mes'select' | 'grid''select'
yearStyleEstilo del año'select' | 'input''select'
yearSpanCantidad de añosnumber120
minAgeEdad mínima permitidanumber13
maxAgeEdad máxima permitidanumber-
monthPlaceholderPlaceholder del messtring'Month'
dayPlaceholderPlaceholder del díastring'Day'
yearPlaceholderPlaceholder del añostring'Year'
disabledDeshabilitar el campobooleanfalse
sizeTamaño del componente'xs' | 'sm' | 'md' | 'lg' | 'xl'-
classNameClases CSS adicionalesstring-
data-testidPrefijo de ID de pruebastring-