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 ( <>
Выбор
setSearchTerm(e.target.value)} /> {columns.map(column => ( ))} {filteredItems.map(item => ( onSelect(item)}> {columns.map(column => ( ))} ))}
{column.label}
{item[column.key]}
); }; export default SelectionDialog;