|
|
@@ -1,24 +1,26 @@
|
|
|
import {FilterButtonGroup, FilterField, FilterFieldWrapper} from '@components';
|
|
|
import {Card} from 'antd';
|
|
|
-import {FC, useState} from 'react';
|
|
|
-import {useContextSection, useTableSearchEvent} from '@hooks';
|
|
|
+import {FC} from 'react';
|
|
|
+import {useContextSection, useFilterField, useTableSearchToolEvents} from '@hooks';
|
|
|
import {context, searchContext} from '../context';
|
|
|
|
|
|
const Filter: FC = function () {
|
|
|
- const [value, onChange] = useState('');
|
|
|
- const onSearch = useTableSearchEvent(context, {name: value});
|
|
|
- const {isSearching, refetch} = useContextSection(searchContext, state => state[0]);
|
|
|
+ const [field, {onChange, resetState}] = useFilterField({name: ''}, true);
|
|
|
+ const [, {onSearch, onReset}] = useTableSearchToolEvents(context, field, {
|
|
|
+ resetCallback: resetState,
|
|
|
+ });
|
|
|
+ const {isSearching} = useContextSection(searchContext, state => state[0]);
|
|
|
|
|
|
return (
|
|
|
<Card>
|
|
|
<FilterFieldWrapper>
|
|
|
- <FilterField name='menuName' label='菜单名称' value={value} onChange={onChange} />
|
|
|
- <FilterButtonGroup
|
|
|
- onSearch={onSearch}
|
|
|
- onRefresh={refetch}
|
|
|
- offset={12}
|
|
|
- isSearching={isSearching}
|
|
|
+ <FilterField
|
|
|
+ name='menuName'
|
|
|
+ label='菜单名称'
|
|
|
+ value={field.name}
|
|
|
+ onChange={onChange('name')}
|
|
|
/>
|
|
|
+ <FilterButtonGroup onSearch={onSearch} isSearching={isSearching} onReset={onReset} />
|
|
|
</FilterFieldWrapper>
|
|
|
</Card>
|
|
|
);
|