Ir al contenido

DatePicker

Componente de selección de fecha con ventana emergente de calendario.

import { DatePicker } from 'asterui'

DatePicker Básico

Selección simple de fecha.

import { DatePicker } from 'asterui'

function App() {
  return (
      <DatePicker placeholder="Select date" />
    )
}

export default App

Controlado

Selector de fecha controlado con manejador onChange.

Selected: None

import { DatePicker, Space } from 'asterui'
import { useState } from 'react'

function App() {
  const [date, setDate] = useState<Date | null>(null)
  
  return (
      <Space direction="vertical" size="sm">
        <DatePicker
          value={date}
          onChange={setDate}
          placeholder="Select date"
        />
        <p className="text-sm text-base-content/70">
          Selected: {date ? date.toLocaleDateString() : 'None'}
        </p>
      </Space>
    )
}

export default App

Valor Predeterminado

Selector de fecha con valor inicial.

import { DatePicker } from 'asterui'

function App() {
  return (
      <DatePicker
        defaultValue={new Date()}
        placeholder="Select date"
      />
    )
}

export default App

Formatos de Fecha

Diferentes cadenas de formato de visualización.

import { DatePicker, Space } from 'asterui'

function App() {
  return (
      <Space direction="vertical" size="sm">
        <DatePicker placeholder="MM/DD/YYYY (default)" format="MM/DD/YYYY" />
        <DatePicker placeholder="DD/MM/YYYY" format="DD/MM/YYYY" />
        <DatePicker placeholder="YYYY-MM-DD" format="YYYY-MM-DD" />
      </Space>
    )
}

export default App

Fechas Deshabilitadas

Deshabilita fechas específicas con un callback.

import { DatePicker, Space } from 'asterui'

function App() {
  const disablePastDates = (date: Date) => date < new Date(new Date().setHours(0, 0, 0, 0))
  
  return (
      <Space direction="vertical" size="sm">
        <DatePicker placeholder="Disable past dates" disabledDate={disablePastDates} />
        <DatePicker.Range placeholder={['Start date', 'End date']} disabledDate={disablePastDates} />
      </Space>
    )
}

export default App

Rango de Fechas

Selecciona una fecha de inicio y fin.

import { DatePicker } from 'asterui'

function App() {
  return (
      <DatePicker.Range
        placeholder={['Start date', 'End date']}
      />
    )
}

export default App

Tamaños

Diferentes tamaños de entrada.

import { DatePicker, Space } from 'asterui'

function App() {
  return (
      <Space direction="vertical" size="sm">
        <DatePicker size="xs" placeholder="Extra small" />
        <DatePicker size="sm" placeholder="Small" />
        <DatePicker size="md" placeholder="Medium" />
        <DatePicker size="lg" placeholder="Large" />
      </Space>
    )
}

export default App

Deshabilitado

Selector de fecha deshabilitado.

import { DatePicker } from 'asterui'

function App() {
  return (
      <DatePicker disabled placeholder="Disabled" />
    )
}

export default App
PropiedadDescripciónTipoPredeterminado
valueValor de fecha controladoDate | null-
defaultValueValor de fecha inicialDate | null-
onChangeManejador de cambio(date: Date | null) => void-
formatCadena de formato de visualizaciónstring'MM/DD/YYYY'
placeholderMarcador de posición de entradastring'Seleccionar fecha'
disabledDateDeshabilitar fechas específicas(date: Date) => boolean-
disabledDeshabilitar el selectorbooleanfalse
sizeTamaño de entrada'xs' | 'sm' | 'md' | 'lg' | 'xl'componentSize
data-testidID de prueba para pruebasstring-
classNameClases CSS adicionalesstring-
PropiedadDescripciónTipoPredeterminado
valueValor de rango de fechas controlado[Date | null, Date | null]-
defaultValueValor de rango de fechas inicial[Date | null, Date | null]-
onChangeManejador de cambio(range: [Date | null, Date | null]) => void-
formatCadena de formato de visualizaciónstring'MM/DD/YYYY'
placeholderMarcadores de posición de entrada[string, string] | string['Fecha de inicio', 'Fecha de fin']
disabledDateDeshabilitar fechas específicas(date: Date) => boolean-
disabledDeshabilitar el selectorbooleanfalse
sizeTamaño de entrada'xs' | 'sm' | 'md' | 'lg' | 'xl'componentSize
data-testidID de prueba para pruebasstring-
classNameClases CSS adicionalesstring-