Embellissez les balises d'entrée dans ReactJs à l'aide de styles CSS
P粉619896145
P粉619896145 2023-09-01 17:00:09
0
1
608
<p>J'ai le composant suivant dans mon application React JS : </p> <pre class="brush:php;toolbar:false;">const Input = ({name, ..rest}) => retour ( <div> <input type="texte" nom={nom} {...rest}/> {erreurs && <span>Erreurs : veuillez ajouter votre nom</span>} </div> ); };</pré> <p><code>rest</code>Les paramètres incluent tous les<code>React.InputHTMLAttributes<HTMLInputElement></code>, tels que requis, className, id, etc. </p><p>J'ai du mal à essayer d'ajouter l'attribut <code>style</code> Si j'ajoute quelque chose comme ceci : </p> <p><code>marge inférieure : 45px</code></p> <p> Ensuite, il y aura un espace vide entre la zone de saisie et la travée, mais cet espace doit être l'espacement de l'ensemble du composant, donc l'espacement doit être appliqué sous le composant plutôt qu'entre les éléments du composant. </p> <p>Comment puis-je éviter ce problème et conserver l'attribut <code>...rest</code> sur la balise d'entrée ? </p> <p>Remarque : En plus de <code>style</code>, vous pouvez également utiliser <code>className</code>, <code>id</code>, <code> contexte ;obligatoire</code>etc. </p>
P粉619896145
P粉619896145

répondre à tous(1)
P粉511896716

Vous pouvez le remplacer à partir de rest中提取出style属性,然后删除其margin属性(之前设置的),并用您自定义的marginBottom: 45.

const Input = ({ name, style, ...rest }) => {
  const { margin, ...restStyles } = style;
  const newStyles = {
    ...restStyles,
    marginBottom: 45,
  };

  return (
      <div>
        <input type="text" name={name} {...rest} style={newStyles} />
                                               // ^^^^^^^^^ 应用新样式
        {errors && <span>错误:请添加您的姓名</span>}
      </div>
  );
};
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!