import React, { useState, useEffect } from 'react'; import './Dialog.css'; const SelectionDialog = ({ show, handleClose, items, columns, onSelect }) => { const [searchTerm, setSearchTerm] = useState(''); const [filteredItems, setFilteredItems] = useState(items); useEffect(() => { setFilteredItems( items.filter(item => columns.some(column => item[column.key].toString().toLowerCase().includes(searchTerm.toLowerCase()) ) ) ); }, [searchTerm, items, columns]); if (!show) return null; return ( <>
| {column.label} | ))}
|---|
| {item[column.key]} | ))}