Fabric TextInput: prepareForRecycle leaves stale inputAccessoryViewButtonLabel (empty Done bar)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 76/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- objective-c, react-native
- Bereich
- mobile
Rechercherichtung
Beginne mit RCTTextInputComponentView’s prepareForRecycle und verfolge, wie updateProps und setDefaultInputAccessoryView inputAccessoryViewButtonLabel behandeln. Reproduziere das Problem in einem iOS 26.5 Simulator mit Fabric, indem du ein Texteingabefeld von einem mit Beschriftung zu einem unbeschrifteten Zahlen-, Dezimal- oder Telefontastenfeld recycelst. Fertig ist es, wenn das erneut eingebundene Eingabefeld keine leere Done-Symbolleiste mehr anzeigt; überprüfe das alternative Verhalten mit einer Beschriftung der Länge null, falls du diesen Ansatz wählst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
On Fabric (RN 0.85), RCTTextInputComponentView prepareForRecycle clears inputAccessoryView, inputAccessoryViewID, and _hasInputAccessoryView, but does not clear _backedTextInputView.inputAccessoryViewButtonLabel.
When a recycled view is remounted for a number/decimal/phone pad without inputAccessoryViewButtonLabel, updateProps diffs against the stale _props and may not re-assign the label. RCTNSStringFromString("") returns @"" (non-nil). setDefaultInputAccessoryView treats any non-nil label as "has a label":
BOOL containsInputAccessoryViewButtonLabel = inputAccessoryViewButtonLabel != nil;
So an unlabelled number pad on a recycled view shows an empty Done toolbar with an invisible button (reproduced on iOS 26.5 Simulator).
Suggested fix
In prepareForRecycle, also set:
_backedTextInputView.inputAccessoryViewButtonLabel = nil;
Alternatively, treat zero-length labels as unset in setDefaultInputAccessoryView (length == 0 → no accessory from the label path).
Environment
- react-native 0.85.x / Fabric
- iOS 26.5 Simulator
- Vorherrschende Sprache
- C++
- Sterne
- 127k
- Forks
- 25.3k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus react/react-native
-
Needs: Attention Needs: Repro
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
react/react-native#58904 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Needs: Author Feedback Needs: Repro
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
react/react-native#58659 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Needs: Author Feedback Needs: Repro
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
react/react-native#58621 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add TypeScript declaration for the performance globalEvtl. vergeben @Cedric921 hat das vor 6 Tagen übernommen. OffenNeeds: Attention Needs: Repro
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
react/react-native#58610 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Needs: Triage :mag:
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
react/react-native#58565 · 2 Kommentare · 2 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in react/react-native
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
objectionary/eo-graphs#80 ·
-
bug C/C++ code
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
webarkit/WebARKitLib#85 ·
Maintainer antworten meist innerhalb von 1 Tag
-
SD Card Size correctionOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
-
[request] vsg/1.1.16Offenupstream update
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
conan-io/conan-center-index#31142 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100