@gm-pc/react 1.17.0-beta.9 → 1.18.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gm-pc/react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0-beta.1",
|
|
4
4
|
"description": "观麦前端基础组件库",
|
|
5
5
|
"author": "liyatang <liyatang@qq.com>",
|
|
6
6
|
"homepage": "https://github.com/gmfe/gm-pc#readme",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@gm-common/hooks": "^2.10.0",
|
|
26
26
|
"@gm-common/tool": "^2.10.0",
|
|
27
|
-
"@gm-pc/locales": "^1.
|
|
27
|
+
"@gm-pc/locales": "^1.18.0-beta.1",
|
|
28
28
|
"big.js": "^6.0.1",
|
|
29
29
|
"classnames": "^2.2.5",
|
|
30
30
|
"lodash": "^4.17.19",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"react-router-dom": "^5.2.0",
|
|
49
49
|
"react-window": "^1.8.5"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "38d92355431b842668df4dd938b549f8887f7606"
|
|
52
52
|
}
|
|
@@ -140,20 +140,16 @@ const AutoComplete = forwardRef<AutoCompleteRef, AutoCompleteProps>((props, ref)
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
const renderItem = useMemo(() => {
|
|
143
|
-
if (renderOption)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
143
|
+
if (!renderOption) return
|
|
144
|
+
return (value: ListDataItem<string>, index: number) => {
|
|
145
|
+
return renderOption({ value: value.value }, index)
|
|
147
146
|
}
|
|
148
|
-
return undefined
|
|
149
147
|
}, [renderOption])
|
|
150
148
|
|
|
151
|
-
useImperativeHandle(ref, () => {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
})
|
|
149
|
+
useImperativeHandle(ref, () => ({
|
|
150
|
+
input: inputNode.current,
|
|
151
|
+
triggerPopover,
|
|
152
|
+
}))
|
|
157
153
|
|
|
158
154
|
return (
|
|
159
155
|
<Popover
|
|
@@ -46,6 +46,8 @@ class MoreSelectBase<V extends string | number = string> extends Component<
|
|
|
46
46
|
private _baseRef = createRef<HTMLDivElement>()
|
|
47
47
|
private _selectionRef = createRef<HTMLDivElement>()
|
|
48
48
|
private _popoverRef = createRef<Popover>()
|
|
49
|
+
private _inputRef = createRef<HTMLInputElement>()
|
|
50
|
+
|
|
49
51
|
private _filterData: MoreSelectGroupDataItem<V>[] | undefined
|
|
50
52
|
|
|
51
53
|
constructor(props: MoreSelectBaseProps<V>) {
|
|
@@ -123,10 +125,20 @@ class MoreSelectBase<V extends string | number = string> extends Component<
|
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
127
|
|
|
126
|
-
public _handleChange = (
|
|
128
|
+
public _handleChange = (
|
|
129
|
+
event: ChangeEvent<HTMLInputElement>,
|
|
130
|
+
isInitSearch?: boolean
|
|
131
|
+
): void => {
|
|
127
132
|
const searchValue = event.target.value
|
|
128
133
|
this.setState({ searchValue })
|
|
129
134
|
this._debounceDoSearch(searchValue)
|
|
135
|
+
setTimeout(() => {
|
|
136
|
+
// eslint-disable-next-line no-unused-expressions
|
|
137
|
+
isInitSearch && this._inputRef.current?.select()
|
|
138
|
+
if (this.props.searchWhenActive) {
|
|
139
|
+
localStorage.setItem('_GM-PC_MORESELECT_SEARCHVALUE', this.state.searchValue)
|
|
140
|
+
}
|
|
141
|
+
}, 100)
|
|
130
142
|
}
|
|
131
143
|
|
|
132
144
|
private _doSearch = (query: string): void => {
|
|
@@ -239,6 +251,7 @@ class MoreSelectBase<V extends string | number = string> extends Component<
|
|
|
239
251
|
>
|
|
240
252
|
<div className='gm-more-select-popup-input'>
|
|
241
253
|
<Input
|
|
254
|
+
ref={this._inputRef}
|
|
242
255
|
autoFocus
|
|
243
256
|
value={searchValue}
|
|
244
257
|
onChange={this._handleChange}
|
|
@@ -282,6 +295,20 @@ class MoreSelectBase<V extends string | number = string> extends Component<
|
|
|
282
295
|
}
|
|
283
296
|
}
|
|
284
297
|
|
|
298
|
+
private _handlePopoverVisibleChange = (active: boolean) => {
|
|
299
|
+
if (active && this.props.searchWhenActive) {
|
|
300
|
+
const searchValue = localStorage.getItem('_GM-PC_MORESELECT_SEARCHVALUE')
|
|
301
|
+
if (searchValue) {
|
|
302
|
+
this.setState({ searchValue })
|
|
303
|
+
setTimeout(() => {
|
|
304
|
+
// eslint-disable-next-line no-unused-expressions
|
|
305
|
+
this._inputRef.current?.select()
|
|
306
|
+
this._debounceDoSearch(searchValue)
|
|
307
|
+
}, 0)
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
285
312
|
render() {
|
|
286
313
|
const {
|
|
287
314
|
isInPopup,
|
|
@@ -316,6 +343,9 @@ class MoreSelectBase<V extends string | number = string> extends Component<
|
|
|
316
343
|
popup={this._renderList}
|
|
317
344
|
disabled={disabled}
|
|
318
345
|
isInPopup={isInPopup}
|
|
346
|
+
onVisibleChange={(active) => {
|
|
347
|
+
this._handlePopoverVisibleChange(active)
|
|
348
|
+
}}
|
|
319
349
|
>
|
|
320
350
|
{children ?? (
|
|
321
351
|
<Flex
|
|
@@ -53,9 +53,12 @@ class MoreSelect<V = any> extends Component<MoreSelectProps<V>> {
|
|
|
53
53
|
|
|
54
54
|
public _handleInitSearch = (q?: string) => {
|
|
55
55
|
// eslint-disable-next-line no-unused-expressions
|
|
56
|
-
this._moreSelectBaseRef?.current?._handleChange(
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
this._moreSelectBaseRef?.current?._handleChange(
|
|
57
|
+
{
|
|
58
|
+
target: { value: q },
|
|
59
|
+
} as ChangeEvent<HTMLInputElement>,
|
|
60
|
+
true
|
|
61
|
+
)
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
_renderListFilter = (data: MoreSelectGroupDataItem<V>[], searchValue: string) => {
|
|
@@ -78,6 +78,8 @@ interface MoreSelectBaseProps<V extends string | number = string>
|
|
|
78
78
|
data: MoreSelectGroupDataItem<V>[],
|
|
79
79
|
searchValue: string
|
|
80
80
|
): MoreSelectGroupDataItem<V>[]
|
|
81
|
+
/** 是否在active的时候搜索,订单业务相关,searchValue放在localstorage */
|
|
82
|
+
searchWhenActive?: boolean
|
|
81
83
|
}
|
|
82
84
|
|
|
83
85
|
type MoreSelectData<V extends string | number = string> =
|
|
@@ -88,7 +90,8 @@ type MoreSelectSelected<V extends string | number = string> =
|
|
|
88
90
|
| MoreSelectDataItem<V>
|
|
89
91
|
|
|
90
92
|
interface MoreSelectProps<V extends string | number = string>
|
|
91
|
-
extends MoreSelectCommonProps<V
|
|
93
|
+
extends MoreSelectCommonProps<V>,
|
|
94
|
+
Pick<MoreSelectBaseProps, 'searchWhenActive'> {
|
|
92
95
|
data?: MoreSelectData<V>
|
|
93
96
|
selected?: MoreSelectSelected<V>
|
|
94
97
|
value?: V | V[]
|