@gm-pc/react 1.17.0-beta.9 → 1.17.0

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.17.0-beta.9",
3
+ "version": "1.17.0",
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.17.0-beta.9",
27
+ "@gm-pc/locales": "^1.17.0",
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": "f2aadd59989a196ce17bc6e4d79ffd5fb36b5003"
51
+ "gitHead": "6c3fd305353d59583270491136f6d8665fe8427d"
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
- return (value: ListDataItem<string>, index: number) => {
145
- return renderOption({ value: value.value }, index)
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
- return {
153
- input: inputNode.current,
154
- triggerPopover,
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,17 @@ class MoreSelectBase<V extends string | number = string> extends Component<
123
125
  }
124
126
  }
125
127
 
126
- public _handleChange = (event: ChangeEvent<HTMLInputElement>): void => {
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
+ }, 100)
130
139
  }
131
140
 
132
141
  private _doSearch = (query: string): void => {
@@ -239,6 +248,7 @@ class MoreSelectBase<V extends string | number = string> extends Component<
239
248
  >
240
249
  <div className='gm-more-select-popup-input'>
241
250
  <Input
251
+ ref={this._inputRef}
242
252
  autoFocus
243
253
  value={searchValue}
244
254
  onChange={this._handleChange}
@@ -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
- target: { value: q },
58
- } as ChangeEvent<HTMLInputElement>)
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) => {