22 <div class =" flex gap-4" >
33 <FilterDropdown
44 title =" 조회 기간"
5- :width =" 120"
65 :option-list =" TERM_LIST"
7- :value =" String(params.term)"
8- @update:value =" onTermChange" />
6+ :value =" String(store. params.term)"
7+ @update:value =" onParamsChange. onTermChange" />
98 <FilterCategory
109 :category-list =" DUMMY_CATEGORY_LIST"
11- :main =" params.mainCategoryId"
12- :sub =" params.categoryId"
13- @update:main =" onMainChange"
14- @update:sub =" onSubChange" />
10+ :main =" store. params.mainCategoryId"
11+ :sub =" store. params.categoryId"
12+ @update:main =" onParamsChange. onMainChange"
13+ @update:sub =" onParamsChange. onSubChange" />
1514 <FilterInput
1615 title =" 제목"
17- :width =" 120"
18- :value =" params.title"
19- @update:value =" value => (params.title = value)" />
16+ :value =" store.params.title"
17+ @update:value =" onParamsChange.onTitleChange" />
2018 <FilterInput
21- :width =" 120"
2219 title =" 처리자"
23- :value =" params.nickName"
24- @update:value =" value => (params.nickName = value) " />
20+ :value =" store. params.nickName"
21+ @update:value =" onParamsChange.onNickNameChange " />
2522 <FilterDropdownMulti
2623 title =" 상태"
27- :width =" 120"
2824 :option-list =" TASK_STATUS_LIST"
29- :value =" params.taskStatus"
30- @update:value =" onTaskStatusClick " />
25+ :value =" store. params.taskStatus! "
26+ @update:value =" onParamsChange.onTaskStatusChange " />
3127 <FilterDropdown
3228 title =" 페이지 당 개수"
33- :width =" 120"
3429 :option-list =" PAGE_SIZE_LIST"
35- :value =" String(params.pageSize)"
36- @update:value =" value => (params.pageSize = Number(value)) " />
30+ :value =" String(store. params.pageSize)"
31+ @update:value =" onParamsChange.onPageSizeChange " />
3732 </div >
3833</template >
3934
@@ -42,38 +37,13 @@ import FilterDropdown from '../filters/FilterDropdown.vue'
4237import FilterCategory from ' ../filters/FilterCategory.vue'
4338import FilterInput from ' ../filters/FilterInput.vue'
4439import FilterDropdownMulti from ' ../filters/FilterDropdownMulti.vue'
45- import { useMyRequestParamsStore } from ' @/stores/params'
40+ import { useRequestParamsStore } from ' @/stores/params'
4641import { DUMMY_CATEGORY_LIST } from ' @/datas/dummy'
4742import { PAGE_SIZE_LIST , TASK_STATUS_LIST , TERM_LIST } from ' @/constants/common'
48- import type { Status } from ' @/types/common '
43+ import { useRequestParamsChange } from ' ../hooks/useRequestParamsChange '
4944
50- const { params } = useMyRequestParamsStore ()
45+ const store = useRequestParamsStore ()
46+ store .$reset ()
5147
52- const onTermChange = (value : string ) => {
53- if (value === ' ' ) {
54- params .term = ' '
55- }
56- params .term = Number (value )
57- }
58- const onMainChange = (value : number ) => {
59- if (params .mainCategoryId .includes (value )) {
60- params .mainCategoryId = [... params .mainCategoryId ].filter (el => el !== value )
61- } else {
62- params .mainCategoryId .push (value )
63- }
64- }
65- const onSubChange = (value : number ) => {
66- if (params .categoryId .includes (value )) {
67- params .categoryId = [... params .categoryId ].filter (el => el !== value )
68- } else {
69- params .categoryId .push (value )
70- }
71- }
72- const onTaskStatusClick = (value : Status ) => {
73- if (params .taskStatus .includes (value )) {
74- params .taskStatus = [... params .taskStatus ].filter (el => el !== value )
75- } else {
76- params .taskStatus .push (value )
77- }
78- }
48+ const onParamsChange = useRequestParamsChange ()
7949 </script >
0 commit comments