[iOS] Toggling `secureTextEntry` prop causes cursor to jump to the end of TextInput
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C++
- Star
- 127k
- Fork
- 25.3k
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 4
Mô tả
Description
In iOS, when the secureTextEntry prop is toggled while the TextInput is focused, the cursor position always jumps to the end of the input no matter what the previous position was.
React Native Version
0.71.2
Output of npx react-native info
System:
OS: macOS 13.4.1
CPU: (10) arm64 Apple M1 Pro
Memory: 89.78 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 16.15.1 - ~/.nvm/versions/node/v16.15.1/bin/node
Yarn: 1.22.15 - ~/.nvm/versions/node/v16.15.1/bin/yarn
npm: 8.11.0 - ~/.nvm/versions/node/v16.15.1/bin/npm
Watchman: Not Found
Managers:
CocoaPods: Not Found
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
Android SDK:
API Levels: 28, 29, 30, 31, 32, 33
Build Tools: 28.0.3, 30.0.3, 33.0.0
System Images: android-31 | Android TV ARM 64 v8a, android-31 | Google APIs ARM 64 v8a, android-32 | Google Play ARM 64 v8a, android-33 | Google APIs ARM 64 v8a
Android NDK: 21.3.6528147
IDEs:
Android Studio: 2022.1 AI-221.6008.13.2211.9514443
Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
Languages:
Java: 17.0.8 - /usr/bin/javac
npmPackages:
@expensify/react-native: 0.71.2-alpha.3
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
- Write something on a TextInput, in iOS
- Move the cursor position to a different position
- Toggle secureTextEntry
- Notice that the cursor jumped to the end of the input
Snack, screenshot, or link to a repository
Snack: https://snack.expo.dev/IL4nCHYAQ
Demo:
https://github.com/facebook/react-native/assets/48553277/afd61900-bcd6-47d2-9d38-120c3611e885
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách chạy Snack được liên kết trên iOS và tái hiện hiện tượng con trỏ nhảy khi chuyển đổi secureTextEntry trên một TextInput đang được focus. Sau đó, truy vết phần triển khai TextInput trên iOS và cách xử lý vùng chọn của nó; công việc được xem là hoàn tất khi con trỏ vẫn ở vị trí trước đó sau các thay đổi prop.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- ios, react-native
- Lĩnh vực
- mobile
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100