Strom Ich habe einen Ionenumschalter, der so aussieht
Ich möchte das machen
Gibt es überhaupt etwas, das dies ermöglicht? Ich habe irgendwo gelesen, dass ich ng-true-value und ng-false-value verwenden könnte, aber das scheint nicht zu tun, was ich suche
Die Attribute ng-true-value
und ng-false-value
geben dem ng-model
-Ausdruck einen bestimmten benutzerdefinierten Wert, wenn das Kontrollkästchen aktiviert ist. Das ionic - Framework verwendet es nicht, um Text im Toggle anzuzeigen.
Aber es ist durchaus möglich :)
Unten ist eine Anweisung, die dies tut. Schlagen Sie ion-toggle-text
auf jeden vorhandenen ion-toggle
und schon kann es losgehen. Ein/Aus-Text kann entweder mit den Attributen ng-true-value
/ng-false-value
oder mit einem durch ;
getrennten Wert mit dem Attribut ion-toggle-text
festgelegt werden. Wenn kein Text angegeben ist, wird standardmäßig " ein " & " aus " verwendet.
<ion-toggle ion-toggle-text ng-model="simple">
Simple Example: <b>{{ simple || false }}</b>
</ion-toggle>
<ion-toggle ion-toggle-text="online;offline" ng-model="customText">
Custom text: <b>{{ customText || false }}</b>
</ion-toggle>
<ion-toggle ion-toggle-text ng-true-value="so true" ng-false-value="so false" ng-model="textByValue">
Text by value: <b>{{ textByValue || 'so false' }}</b>
</ion-toggle>
Plunker finden Sie hier .
Genießen.
Ich habe dies auch ohne Erfolg versucht. Meine nächste Lösung bestand darin, einen Nein/Ja-Text auf der linken Seite des Umschaltknopfes wie folgt zu platzieren:
Link zum Codebeispiel: http://play.ionic.io/app/f3ad6568b33c
Der tatsächliche Code: HTML:
<div class="toggle-wrapper">
<span class="toggle-question">Text question here?</span>
<ion-toggle class="meds-toggle"
toggle-class="toggle-energized"
ng-model="customText"
ng-checked="customText">
<div class="toggle-text">{{customText ? "YES" : "NO"}}</div>
</ion-toggle>
</div>
JS: // Dies ist eine Variable in meinem Controller $ Scope.customText = false;
CSS:
#meds-refund-form .toggle-wrapper {
display: inline-block;
width: 100%;
margin-bottom: -20px;
}
.toggle-question {
font-size: $default-font-size -3;
float: left;
margin: 10px;
}
.toggle-text {
width: 10%;
color: $bright-yellow;
}
.meds-toggle {
margin: 10px;
width: 5%;
float: right;
border: none;
height: 50px;
}
Ein Blick in den Quellcode scheint nicht möglich zu sein. Es ist zu beachten, dass es keine Optionen gibt, um Text in die Umschaltschaltfläche einzufügen, und das einzige Transclude-Tag bezieht sich auch nicht auf die Umschaltfläche. Sie können natürlich ihren Code selbst festlegen, aber ich denke nicht, dass es sich lohnt.
Ich habe die in der Antwort beschriebene Lösung aktualisiert, um Ionic 1.0.3 zu unterstützen. Den Plunker finden Sie hier
Das HTML-Beispiel unten zeigt auch die Verwendung der Eigenschaft ng-disabled.
<ion-toggle ion-toggle-text ng-model="simple" toggle-class="toggle-my-theme">
Simple Example: <b>{{ simple || false }}</b>
</ion-toggle>
<ion-toggle ion-toggle-text ng-model="simple" toggle-class="toggle-my-theme" ng-disabled="true">
Disabled Example: <b>{{ simple || false }}</b>
</ion-toggle>
<ion-toggle ion-toggle-text="online;offline" ng-model="customText" toggle-class="toggle-my-theme">
Custom text: <b>{{ customText || false }}</b>
</ion-toggle>
<ion-toggle ng-model="customText" toggle-class="toggle-calm">Airplane Mode</ion-toggle>