2017-10-08 2 views
1

Je veux que la couleur du bouton change lorsque l'utilisateur a écrit son nom d'utilisateur et pw dans l'entrée, de sorte qu'un signe du bouton peut être pressé savoir. (Si changement de gris -> vert)Y at-il une possibilité de changer la couleur du bouton?

CSS

.turn-green { 
    background-color: green; 
} 

TS

@IonicPage() 
@Component({ 
    selector: 'page-login', 
    templateUrl: 'login.html', 
}) 
export class LoginPage { 
    userWroteName: false; 

    constructor(public navCtrl: NavController, public navParams: NavParams) { 
    function userTyped(value) { // fires on each keystroke 
    const minLengthForName = 3; // you choose your min accepted length 
    // some code you want here 
    if (value.length >= minLengthForName) { 
     this.userWroteName = true; 
    } else { 
     this.userWroteName = false; 
    } 
} 


    } 



    ionViewDidLoad() { 
    console.log('ionViewDidLoad LoginPage'); 
    } 


} 
+0

Veuillez consulter [Comment poser une bonne question?] (Https://stackoverflow.com/help/how-to-ask). _Le bouton? - _which_ bouton? Ajouter du code à votre question Qu'avez-vous essayé jusqu'à présent? Est-ce angularjs (v1) ou est-ce ionic2 qui utilise des caractères dactylographiés et Angular2 +, vos tags n'ont pas de sens. – David

+1

La question était évidente. Il doit utiliser ngClass pour changer la couleur du bouton dans certaines conditions. Les gens peuvent passer des heures à chercher comment faire des choses simples comme celle-ci et les commentaires comme «vous n'avez pas fait assez» ne sont pas utiles. Nous y avons tous été. Ce n'est pas comme s'il demandait comment initialiser un int ou quelque chose. –

Répondre

2

Dans votre fichier *.html sur l'utilisation de votre élément <button>[ngClass]

<button [ngClass]="{'turn-green': userWroteName}">My Button</button> 

Dans votre fichier *.css définir le turn-green classe

.turn-green { 
    background-color: green; 
} 

Dans votre fichier *.ts créer la variable booléenne userWroteName et ont une fonction que les incendies selon que l'utilisateur a écrit quelque chose dans la zone de texte ou non.

userWroteName: false; 

function userTyped(value) { // fires on each keystroke 
    const minLengthForName = 3; // you choose your min accepted length 
    // some code you want here 
    if (value.length >= minLengthForName) { 
     this.userWroteName = true; 
    } else { 
     this.userWroteName = false; 
    } 
} 

Ce code suppose que vous écoutez chaque combinaison de touches, et appelant userTyped() sur chaque combinaison de touches tapées.

+0

alors j'écris userWroteName: false; dans la classe d'exportation et le reste Dans le constructeur? Parce que maintenant ça n'arrive plus. si je le fais comme ça. –

+0

Il ne va pas dans le constructeur. C'est une fonction séparée dans le fichier * .ts. Avez-vous un auditeur dans votre champ de saisie? –

+0

non Je suis désolé je ne sais pas ce que c'est :(Mais je peux google rapidement, –