Skip to content

Commit

Permalink
* picker: support for setting search params in url on fetching items …
Browse files Browse the repository at this point in the history
…from remote.
  • Loading branch information
catouse committed Apr 2, 2024
1 parent 273ae81 commit 3dfc875
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion lib/picker/src/component/picker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type {ComponentType, RenderableProps} from 'preact';
import type {ListItem, ListItemsFetcher} from '@zui/list';
import type {PickTriggerProps} from '@zui/pick';
import type {PickerItemBasic, PickerItemOptions, PickerMenuProps, PickerOptions, PickerSelectProps, PickerState} from '../types';
import {formatString} from '@zui/helpers/src/format-string';

function getValueMap(items: PickerItemOptions[], userMap?: Map<string, PickerItemOptions>): Map<string, PickerItemOptions> {
return items.reduce<Map<string, PickerItemOptions>>((map, item) => {
Expand Down Expand Up @@ -169,7 +170,11 @@ export class Picker<S extends PickerState = PickerState, O extends PickerOptions
if (this._abort !== abort) {
return items;
}
items = await fetchData(itemsSetting as ListItemsFetcher, [this, search], {signal: abort.signal});
let ajaxSetting = itemsSetting;
if (typeof ajaxSetting === 'string') {
ajaxSetting = formatString(ajaxSetting, {search: encodeURIComponent(search)});
}
items = await fetchData(ajaxSetting as ListItemsFetcher, [this, search], {signal: abort.signal});
if (this._abort !== abort) {
return items;
}
Expand Down

0 comments on commit 3dfc875

Please sign in to comment.