@mpxjs/webpack-plugin 2.10.14-beta.12 → 2.10.14-beta.13
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/lib/runtime/components/react/context.ts +1 -0
- package/lib/runtime/components/react/dist/context.d.ts +1 -0
- package/lib/runtime/components/react/dist/mpx-input.jsx +1 -1
- package/lib/runtime/components/react/dist/mpx-keyboard-avoiding-view.jsx +6 -1
- package/lib/runtime/components/react/mpx-input.tsx +1 -1
- package/lib/runtime/components/react/mpx-keyboard-avoiding-view.tsx +6 -1
- package/package.json +1 -1
|
@@ -144,7 +144,7 @@ const Input = forwardRef((props, ref) => {
|
|
|
144
144
|
};
|
|
145
145
|
const setKeyboardAvoidContext = () => {
|
|
146
146
|
if (keyboardAvoid) {
|
|
147
|
-
keyboardAvoid.current = { cursorSpacing, ref: nodeRef, adjustPosition };
|
|
147
|
+
keyboardAvoid.current = { cursorSpacing, ref: nodeRef, adjustPosition, readyToShow: true };
|
|
148
148
|
}
|
|
149
149
|
};
|
|
150
150
|
const onTouchStart = () => {
|
|
@@ -28,8 +28,9 @@ const KeyboardAvoidingView = ({ children, style, contentContainerStyle }) => {
|
|
|
28
28
|
timerRef.current && clearTimeout(timerRef.current);
|
|
29
29
|
if (keyboardAvoid?.current) {
|
|
30
30
|
const inputRef = keyboardAvoid.current.ref?.current;
|
|
31
|
-
if (inputRef && inputRef.isFocused()) {
|
|
31
|
+
if (inputRef && inputRef.isFocused() && !keyboardAvoid.current.readyToShow) {
|
|
32
32
|
// 修复 Android 点击键盘收起按钮时当前 input 没触发失焦的问题
|
|
33
|
+
// keyboardAvoid.current.readyToShow = true 表示聚焦到了新的输入框,不需要手动触发失焦
|
|
33
34
|
inputRef.blur();
|
|
34
35
|
}
|
|
35
36
|
if (!keyboardAvoid.current.onKeyboardShow) {
|
|
@@ -48,6 +49,10 @@ const KeyboardAvoidingView = ({ children, style, contentContainerStyle }) => {
|
|
|
48
49
|
useEffect(() => {
|
|
49
50
|
let subscriptions = [];
|
|
50
51
|
function keybaordAvoding(evt, ios = false) {
|
|
52
|
+
if (keyboardAvoid?.current?.readyToShow) {
|
|
53
|
+
// 重置标记位
|
|
54
|
+
keyboardAvoid.current.readyToShow = false;
|
|
55
|
+
}
|
|
51
56
|
if (!keyboardAvoid?.current || isShow.current) {
|
|
52
57
|
return;
|
|
53
58
|
}
|
|
@@ -283,7 +283,7 @@ const Input = forwardRef<HandlerRef<TextInput, FinalInputProps>, FinalInputProps
|
|
|
283
283
|
|
|
284
284
|
const setKeyboardAvoidContext = () => {
|
|
285
285
|
if (keyboardAvoid) {
|
|
286
|
-
keyboardAvoid.current = { cursorSpacing, ref: nodeRef, adjustPosition }
|
|
286
|
+
keyboardAvoid.current = { cursorSpacing, ref: nodeRef, adjustPosition, readyToShow: true }
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
289
|
|
|
@@ -41,8 +41,9 @@ const KeyboardAvoidingView = ({ children, style, contentContainerStyle }: Keyboa
|
|
|
41
41
|
|
|
42
42
|
if (keyboardAvoid?.current) {
|
|
43
43
|
const inputRef = keyboardAvoid.current.ref?.current
|
|
44
|
-
if (inputRef && inputRef.isFocused()) {
|
|
44
|
+
if (inputRef && inputRef.isFocused() && !keyboardAvoid.current.readyToShow) {
|
|
45
45
|
// 修复 Android 点击键盘收起按钮时当前 input 没触发失焦的问题
|
|
46
|
+
// keyboardAvoid.current.readyToShow = true 表示聚焦到了新的输入框,不需要手动触发失焦
|
|
46
47
|
inputRef.blur()
|
|
47
48
|
}
|
|
48
49
|
if (!keyboardAvoid.current.onKeyboardShow) {
|
|
@@ -65,6 +66,10 @@ const KeyboardAvoidingView = ({ children, style, contentContainerStyle }: Keyboa
|
|
|
65
66
|
let subscriptions: EmitterSubscription[] = []
|
|
66
67
|
|
|
67
68
|
function keybaordAvoding(evt: any, ios = false) {
|
|
69
|
+
if (keyboardAvoid?.current?.readyToShow) {
|
|
70
|
+
// 重置标记位
|
|
71
|
+
keyboardAvoid.current.readyToShow = false
|
|
72
|
+
}
|
|
68
73
|
if (!keyboardAvoid?.current || isShow.current) {
|
|
69
74
|
return
|
|
70
75
|
}
|