Advertisement
shadiff

pastetoday

Sep 20th, 2023
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. import React, { useState, useEffect } from 'react';
  2.  
  3. const MemberSearchby = () => {
  4. const [searchInput, setSearchInput] = useState('');
  5. const [members, setMembers] = useState([]);
  6. const [filteredMembers, setFilteredMembers] = useState([]);
  7.  
  8. fetchMemberData = (selectedMember) => {
  9. console.log(`selected Member ${selectedMember}`);
  10. const accessToken = localStorage.getItem('accessToken');
  11. fetch(`http://192.0.1.23:5000/scheme-member/search?schemeId=7950`, {
  12. headers: {
  13. Authorization: `${accessToken}`,
  14. },
  15. })
  16. .then((response) => response.json())
  17. .then((data) => {
  18. console.log(data);
  19. this.props.setData( data );
  20. })
  21. .catch((error) => {
  22. console.error('Error fetching scheme options from API:', error);
  23. });
  24. };
  25.  
  26.  
  27. // Filter members based on search input
  28. const filterMembers = () => {
  29. const filtered = members.filter(
  30. (member) =>
  31. member.name.toLowerCase().includes(searchInput.toLowerCase()) ||
  32. member.memberId.includes(searchInput)
  33. );
  34. setFilteredMembers(filtered);
  35. };
  36.  
  37. // Fetch data from the API when the component mounts
  38. useEffect(() => {
  39. fetchMemberData();
  40. }, []);
  41.  
  42. // Handle search input changes
  43. const handleSearchInputChange = (event) => {
  44. setSearchInput(event.target.value);
  45. };
  46.  
  47. // Handle search button click
  48. const handleSearchClick = () => {
  49. filterMembers();
  50. };
  51.  
  52. return (
  53. <div>
  54. <h1>Member Search</h1>
  55. <div>
  56. <input
  57. type="text"
  58. placeholder="Search by name or member ID"
  59. value={searchInput}
  60. onChange={handleSearchInputChange}
  61. />
  62. <button onClick={handleSearchClick}>Search</button>
  63. </div>
  64. <div>
  65. <h2>Search Results</h2>
  66. <ul>
  67. {filteredMembers.map((member) => (
  68. <li key={member.id}>
  69. {member.name} (Member ID: {member.memberId})
  70. </li>
  71. ))}
  72. </ul>
  73. </div>
  74. </div>
  75. );
  76. };
  77.  
  78. export default MemberSearchby;
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement