web-dev-qa-db-fra.com

Comment remplacer la largeur d'un composant TextField avec Rea Material UI?

J'essaie de réduire la largeur de ce composant:

https://github.com/callemall/material-ui/blob/master/src/TextField/TextField.jsx

Voici la méthode de rendu:

  render() {

    return (
      <div>
          <div>
            <form onSubmit={this.handleSubmit}>
                <TextField
                  hintText="Email"
                  ref="email"
                /><br/>
                <TextField
                  hintText="Password"
                  type="password"
                  ref="password"
                /><br/>
              <button className="btn btn-success" onClick={this.loginCommand}><i className="fa fa-sign-in"/>{' '}Log In</button>
            </form>
          </div>
      }
      </div>
    );
  }
}

THX !

enter image description here

12
Nicolas Henin

Vous pouvez également utiliser la propriété fullWidth avec React Material UI).

<TextField
      id="full-width-text-field"
      label="Label"
      placeholder="Placeholder"
      helperText="Full width!"
      margin="normal"
      fullWidth
/>
19
Anton Pelykh

Vous pouvez soit spécifier le style en ligne sur l'élément comme ci-dessous

  <TextField
        hintText="Email"
        ref="email"
        style = {{width: 100}} //assign the width as your requirement
   />

Ou vous pouvez faire comme ci-dessous.

Déclarez une variable styles avec les propriétés css.

var styles = StyleSheet.create({
    textFld: { width: 100, height: 40}   //assign the width as your requirement
});

Assignez-le à style dans votre code render.

<TextField
              hintText="Email"
              ref="email"
              style = {styles.textFld}
            />

Essayez-le, faites-moi savoir si cela fonctionne pour vous. Je suis nouveau pour réagir aussi.

Vous pouvez vous référer aux documentations et autres questions similaires sur SO pour plus de clarté. http://facebook.github.io/react-native/docs/style.html#content =

http://facebook.github.io/react-native/

http://facebook.github.io/react-native/docs/flexbox.html#content

Meilleures pratiques de style en ligne React.js

14
pratikpawar

De la doc :

style -> object -> Override the inline-styles of the root element.

inputStyle -> objet -> Remplace les styles en ligne de l'élément d'entrée de TextField.

etc.

Vous pouvez donc faire:

 <TextField
     hintText=".."
     ref=".."
     style ={{width: '100%'}}
     inputStyle ={{width: '100%'}}
 />

Et peut-être aussi en donnant un id ou className au composant, et en ciblant avec css (en ajoutant! Important):

 <TextField
     id="myId"
     className="myClass"
 />

 -----

 .myId{
      width: 100% important!;
  }
2
Made in Moon