Rumah > Soal Jawab > teks badan
P粉6378669312023-08-18 14:28:26
Buat keadaan untuk menahan pertanyaan carian dan keadaan lain untuk menyimpan data yang ditapis:
const [searchQuery, setSearchQuery] = useState(''); const [filteredCustomers, setFilteredCustomers] = useState(customers); // 初始化为完整列表
Sekarang tambah fungsi ini. Kemas kini status searchQuery
状态,然后根据给定的text
参数进行过滤,并将结果设置为filteredCustomers
dahulu.
const handleSearchInputChange = (text) => { setSearchQuery(text); const filtered = customers.filter( (customer) => customer.customer.toLowerCase().includes(text.toLowerCase()) || customer.address.toLowerCase().includes(text.toLowerCase()) || customer.mobileno.includes(text) || customer.plateno.includes(text) ); setFilteredCustomers(filtered); };
Laksanakan logik ini setiap kali anda menaip dalam carian TextInput
.
<TextInput placeholder="按客户搜索..." onChangeText={handleSearchInputChange} value={searchQuery} />
Akhir sekali, hanya peta melalui filtredCustomers
而不是displayedCustomers
:
{filteredCustomers.map((customer, index) => { return ( <TouchableOpacity key={index} > // .... </TouchableOpacity> ) })