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,37 +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'
43+ import { useRequestParamsChange } from ' ../hooks/useRequestParamsChange'
4844
49- const { params } = useMyRequestParamsStore ()
45+ const store = useRequestParamsStore ()
46+ store .$reset ()
5047
51- const onTermChange = (value : string ) => {
52- if (value === ' ' ) {
53- params .term = ' '
54- }
55- params .term = Number (value )
56- }
57- const onMainChange = (value : number ) => {
58- if (params .mainCategoryId .includes (value )) {
59- params .mainCategoryId = [... params .mainCategoryId ].filter (el => el !== value )
60- } else {
61- params .mainCategoryId .push (value )
62- }
63- }
64- const onSubChange = (value : number ) => {
65- if (params .categoryId .includes (value )) {
66- params .categoryId = [... params .categoryId ].filter (el => el !== value )
67- } else {
68- params .categoryId .push (value )
69- }
70- }
71- const onTaskStatusClick = (value : string ) => {
72- if (params .taskStatus .includes (value )) {
73- params .taskStatus = [... params .taskStatus ].filter (el => el !== value )
74- } else {
75- params .taskStatus .push (value )
76- }
77- }
48+ const onParamsChange = useRequestParamsChange ()
7849 </script >
0 commit comments