fix: reslove survey list not initializing error when enter search keywords

This commit is contained in:
Dayoung 2025-05-23 10:52:11 +09:00
parent 29e7675ada
commit 0521c88e79
2 changed files with 16 additions and 17 deletions

View File

@ -27,7 +27,7 @@ export default function ListTable() {
}, [pathname]) }, [pathname])
useEffect(() => { useEffect(() => {
if (!session.isLoggedIn || !('data' in surveyList)) return if (!session.isLoggedIn || isLoadingSurveyList) return
if ('count' in surveyList && surveyList.count > 0) { if ('count' in surveyList && surveyList.count > 0) {
if (offset > 0) { if (offset > 0) {
setHeldSurveyList((prev) => [...prev, ...surveyList.data]) setHeldSurveyList((prev) => [...prev, ...surveyList.data])
@ -45,14 +45,12 @@ export default function ListTable() {
router.push(`/survey-sale/${id}`) router.push(`/survey-sale/${id}`)
} }
// TODO: 로딩 처리 필요
return ( return (
<> <>
<SearchForm memberRole={session?.role ?? ''} userNm={session?.userNm ?? ''} /> <SearchForm memberRole={session?.role ?? ''} userNm={session?.userNm ?? ''} />
<div className="sale-frame"> <div className="sale-frame">
{heldSurveyList.length > 0 ? ( {heldSurveyList.length > 0 ? (
<ul className="sale-list-wrap"> <ul className="sale-list-wrap">
{heldSurveyList.map((survey) => ( {heldSurveyList.map((survey) => (
<li className="sale-list-item cursor-pointer" key={survey.id} onClick={() => handleDetailClick(survey.id)}> <li className="sale-list-item cursor-pointer" key={survey.id} onClick={() => handleDetailClick(survey.id)}>
<div className="sale-item-bx"> <div className="sale-item-bx">
@ -67,18 +65,18 @@ export default function ListTable() {
<div className="sale-item-update">{new Date(survey.uptDt).toLocaleString()}</div> <div className="sale-item-update">{new Date(survey.uptDt).toLocaleString()}</div>
</div> </div>
</div> </div>
</li> </li>
))} ))}
</ul> </ul>
) : ( ) : (
<div className="compliace-nosearch"> <div className="compliace-nosearch">
<span className="mb10"></span> <span className="mb10"></span>
</div>
)}
<div className="sale-edit-btn">
<LoadMoreButton hasMore={hasMore} onLoadMore={() => setOffset(offset + 10)} />
</div> </div>
)}
<div className="sale-edit-btn">
<LoadMoreButton hasMore={hasMore} onLoadMore={() => setOffset(offset + 10)} />
</div> </div>
</div>
</> </>
) )
} }

View File

@ -6,7 +6,7 @@ import { useState } from 'react'
export default function SearchForm({ memberRole, userNm }: { memberRole: string; userNm: string }) { export default function SearchForm({ memberRole, userNm }: { memberRole: string; userNm: string }) {
const router = useRouter() const router = useRouter()
const { setSearchOption, setSort, setIsMySurvey, setKeyword, isMySurvey, keyword, searchOption, sort } = useSurveyFilterStore() const { setSearchOption, setSort, setIsMySurvey, setKeyword, reset, isMySurvey, keyword, searchOption, sort } = useSurveyFilterStore()
const [searchKeyword, setSearchKeyword] = useState(keyword) const [searchKeyword, setSearchKeyword] = useState(keyword)
const [option, setOption] = useState(searchOption) const [option, setOption] = useState(searchOption)
@ -15,6 +15,7 @@ export default function SearchForm({ memberRole, userNm }: { memberRole: string;
alert('2文字以上入力してください') alert('2文字以上入力してください')
return return
} }
reset()
setKeyword(searchKeyword) setKeyword(searchKeyword)
setSearchOption(option) setSearchOption(option)
} }