Fabric TextInput: prepareForRecycle leaves stale inputAccessoryViewButtonLabel (empty Done bar)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 76/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- objective-c, react-native
- Domaine
- mobile
Piste de recherche
Commencez par RCTTextInputComponentView’s prepareForRecycle et suivez la manière dont updateProps et setDefaultInputAccessoryView gèrent inputAccessoryViewButtonLabel. Reproduisez le problème sur un simulateur iOS 26.5 avec Fabric en recyclant un champ de saisie de texte avec libellé vers un champ sans libellé, avec pavé numérique, décimal ou téléphonique. Le travail est terminé lorsque le champ remonté n’affiche plus de barre d’outils Done vide ; vérifiez le comportement alternatif d’un libellé de longueur nulle si vous choisissez cette approche.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- C++
- Étoiles
- 127k
- Forks
- 25.3k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de react/react-native
-
Needs: Attention Needs: Repro
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
react/react-native#58904 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Needs: Author Feedback Needs: Repro
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
react/react-native#58659 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Needs: Author Feedback Needs: Repro
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
react/react-native#58621 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Add TypeScript declaration for the performance globalPeut-être pris @Cedric921 l’a pris il y a 6 jours. OuverteNeeds: Attention Needs: Repro
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
react/react-native#58610 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Needs: Triage :mag:
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
react/react-native#58565 · 2 commentaires · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de react/react-native
Issues similaires
-
SD Card Size correctionOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
-
[request] vsg/1.1.16Ouverteupstream update
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
conan-io/conan-center-index#31142 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
FISCO-BCOS/FISCO-BCOS#5684 ·
Les mainteneurs répondent en général sous 4 jours