Comportamento

Fechar ao Selecionar

Quando shouldCloseOnSelect está ativado, o seletor confirma e fecha automaticamente quando uma data é clicada.

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function ShouldCloseOnSelect() {
const [value, setValue] = useState<Date | null>(null);
return <DatePicker value={value} onChange={setValue} shouldCloseOnSelect />;
}

Múltiplos Meses

Exibe múltiplos meses lado a lado.

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function MultiMonth() {
const [value, setValue] = useState<Date | null>(null);
return <DatePicker value={value} onChange={setValue} numberOfMonths={2} />;
}

Integração com Formulário

Use a propriedade name para incluir um input oculto para submissão de formulário nativo.

💡 Tip

O estilo do botão de envio neste exemplo é personalizado — a biblioteca fornece apenas o seletor de data.

import { type SubmitEvent, useState } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function FormIntegration() {
const [value, setValue] = useState<Date | null>(null);
const handleSubmit = (e: SubmitEvent<HTMLFormElement>) => {
e.preventDefault();
const formData = new FormData(e.currentTarget);
const birthday = formData.get("birthday");
alert(`Submitted date: ${typeof birthday === "string" ? birthday : ""}`);
};
return (
<form onSubmit={handleSubmit} style={{ display: "flex", alignItems: "center", gap: 8 }}>
<DatePicker value={value} onChange={setValue} name="birthday" />
<button
type="submit"
style={{
padding: "6px 14px",
border: "1px solid #d1d5db",
borderRadius: 6,
background: "#3b82f6",
color: "#fff",
cursor: "pointer",
fontSize: 13,
}}
>
Submit
</button>
</form>
);
}