import React, { useEffect, useState } from 'react'; import { CircularProgress } from '@material-ui/core'; import axios from 'axios'; import { useHistory, Link } from 'react-router-dom'; import IconButton from '@mui/material/IconButton'; import SearchIcon from '@mui/icons-material/Search'; import InfiniteScroll from "react-infinite-scroll-component"; import Alert from '../../component/alert'; const INFINITE = 10; const SCROLL_DELAY_TIME = 1500; const Parent = (props) => { const [keyword, setKeyword] = useState('') const [loaded, setLoaded] = useState(false); const [father_list, setFatherList ] = useState([]); const [fetch_father_list, setFetchFatherList ] = useState([]); const [_422errors, set422errors] = useState({keyword:''}); const [_400error, set400Error] = useState(''); const [_success, setSuccess] = useState(props.history.location.state); useEffect(() => { setLoaded(false); axios.get('/api/admin/fathers/list') .then((response) => { setLoaded(true); if(response.data.status_code==200){ setFatherList(response.data.params); var len = response.data.params.length; if(len > INFINITE) setFetchFatherList(response.data.params.slice(0, INFINITE)); else setFetchFatherList(response.data.params.slice(0, len)); } else { set400Error("失敗しました。"); } }); }, []); const fetchMoreFatherList = () => { setTimeout(() => { var x = fetch_father_list.length; var y = father_list.length; var c = 0; if(x+INFINITE < y) c = INFINITE; else c = y - x; setFetchFatherList(father_list.slice(0, x+c)); }, SCROLL_DELAY_TIME); }; const handleSearch = (e) => { e.preventDefault(); if(keyword == '') { document.getElementById('keyword').focus(); return; } set422errors({keyword:''}); setLoaded(false); setFatherList([]); axios.get('/api/admin/fathers/search',{params: {keyword: keyword}}) .then((response) => { setLoaded(true); if(response.data.status_code==200){ setFatherList(response.data.params); var len = response.data.params.length; if(len > INFINITE) setFetchFatherList(response.data.params.slice(0, INFINITE)); else setFetchFatherList(response.data.params.slice(0, len)); } }); } return (

親一覧

親を追加する
setKeyword(e.target.value)} />
{ !loaded && } { loaded &&
} style={{overflow:'none', position:'relative'}} > { fetch_father_list.length>0 ? fetch_father_list.map((father, k) =>
name

{ father.company }

{ father.email }

) :

データが存在していません。

} }
{ _400error && set400Error('')}> {_400error} } { _success && setSuccess('')}> {_success} }
) } export default Parent;