Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Fabric TextInput: prepareForRecycle leaves stale inputAccessoryViewButtonLabel (empty Done bar)

Offen Anfängerfreundlich
#58,952 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Needs: Author Feedback Needs: Repro

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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus react/react-native

Alle Issues in react/react-native

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.