J'ai un certain nombre de champs qui sont produits dynamiquement à partir de tableaux et qui sont liés à une branche d'état redux. La valeur d'entrée est correctement mappée à l'état, puis de nouveau au composant. Le problème est qu'il perd le focus, vous devez re cliquer sur l'élément d'entrée. J'ai essayé de contourner ce problème en mettant automatiquement au point le dernier champ mis à jour, mais il se concentre au début du texte pour que vous puissiez écrire à l'envers. J'ai cherché des solutions à ce problème, mais ils ont tous besoin de travailler directement sur le dom ou en utilisant "onFocus =" this.value = value "qui, en tant qu'attribut jsx, ne fonctionnera pasJe perds le focus sur une entrée jsx créée dynamiquement lorsque l'état est mis à jour
Y at-il quelque chose que je fais mal ici Pourquoi ne réagit pas se rappeler le champ à se concentrer automatiquement comme il le fait avec des éléments d'entrée jsx statiques
Voici le code qui produit les champs:
const renderFields = (fields, target) => {
if(!fields) return <div></div>
return fields.map(field => {
let input = []
if(field.type==="text") {
input.push(<input key={generateUID()} type="text" onChange={e=>onChange(field, e.target.value, target)} autoFocus={field.hasFocus} value={field.value} />)
} else if(field.type==="radio") {
let values = field.control.match(/\[(.+)\]/)[1].split(",")
input = values.map(value => {
return (<label key={generateUID()}><input name={field.id} onChange={e=>onChange(field, value, target)} type="radio" value={value} key={generateUID()} style={{display: "inline-block"}} /> {value}</label>)
})
}
return (
<div key={generateUID()}>
<label>{field.label}</label>
<br />
{input}
</div>
)
})
}
Je vous remercie de toute aide
Vous pouvez essayer quelque chose comme ça pour obtenir le 'bout onFocus' travailler dans JSX: ' cela. input = ref} onFocus = {() => this.input.value = field.value} /> ' –
Vous pourriez vouloir vérifier [** cet article **] (https://stackoverflow.com/questions/ 28329382/understanding-unique-keys-for-array-children-in-react-js/43892905 # 43892905) concernant les clés et leur fonctionnement. – Chris