Pular para o conteúdo

DatePicker

Componente de seleção de data com popup de calendário.

import { DatePicker } from 'asterui'

DatePicker Básico

Seleção simples de data.

import { DatePicker } from 'asterui'

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

export default App

Controlado

Seletor de data controlado com manipulador 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 Padrão

Seletor de data com valor inicial.

import { DatePicker } from 'asterui'

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

export default App

Formatos de Data

Diferentes formatos de exibição de data.

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

Datas Desabilitadas

Desabilite datas específicas com um 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

Intervalo de Datas

Selecione uma data de início e fim.

import { DatePicker } from 'asterui'

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

export default App

Tamanhos

Diferentes tamanhos 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

Desabilitado

Seletor de data desabilitado.

import { DatePicker } from 'asterui'

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

export default App
PropriedadeDescriçãoTipoPadrão
valueValor de data controladoDate | null-
defaultValueValor de data inicialDate | null-
onChangeManipulador de mudança(date: Date | null) => void-
formatString de formato de exibiçãostring'MM/DD/YYYY'
placeholderPlaceholder do campo de entradastring'Selecionar data'
disabledDateDesabilitar datas específicas(date: Date) => boolean-
disabledDesabilitar o seletorbooleanfalse
sizeTamanho do campo de entrada'xs' | 'sm' | 'md' | 'lg' | 'xl'componentSize
data-testidID de teste para testesstring-
classNameClasses CSS adicionaisstring-
PropriedadeDescriçãoTipoPadrão
valueValor de intervalo de datas controlado[Date | null, Date | null]-
defaultValueValor de intervalo de datas inicial[Date | null, Date | null]-
onChangeManipulador de mudança(range: [Date | null, Date | null]) => void-
formatString de formato de exibiçãostring'MM/DD/YYYY'
placeholderPlaceholders do campo de entrada[string, string] | string['Data de início', 'Data de fim']
disabledDateDesabilitar datas específicas(date: Date) => boolean-
disabledDesabilitar o seletorbooleanfalse
sizeTamanho do campo de entrada'xs' | 'sm' | 'md' | 'lg' | 'xl'componentSize
data-testidID de teste para testesstring-
classNameClasses CSS adicionaisstring-