'use client'; import { useState, ChangeEvent, useEffect } from 'react'; export interface DropdownData { [key: string]: string[]; } interface DependentDropdownProps { data: DropdownData; name1: string; // เพิ่มมาเพื่อใช้กับ Form Action name2: string; // เพิ่มมาเพื่อใช้กับ Form Action label1?: string; label2?: string; placeholder1?: string; placeholder2?: string; onSelectChange?: (mainValue: string, subValue: string) => void; } export default function DependentDropdown({ data, name1, name2, label1 = 'เลือกตัวเลือกหลัก:', label2 = 'เลือกตัวเลือกย่อย:', placeholder1 = '-- กรุณาเลือก --', placeholder2 = '-- กรุณาเลือกตัวเลือกหลักก่อน --', onSelectChange, }: DependentDropdownProps) { const [mainSelection, setMainSelection] = useState(''); const [subSelection, setSubSelection] = useState(''); const handleMainChange = (e: ChangeEvent) => { const value = e.target.value; setMainSelection(value); setSubSelection(''); }; const handleSubChange = (e: ChangeEvent) => { setSubSelection(e.target.value); }; useEffect(() => { if (onSelectChange) { onSelectChange(mainSelection, subSelection); } }, [mainSelection, subSelection, onSelectChange]); const subOptions = mainSelection ? data[mainSelection] : []; return (
{/* Dropdown ที่ 1 */}
{/* Dropdown ที่ 2 */}
); }