3

考虑这个开关:

<Switch class="switch" formControlName="answer"></Switch>

如果我这样做,它仅在您尚未激活开关时才有效,之后即使开关未激活,背景颜色也将始终相同:

.switch[checked=true] {
  background-color: #FE4A49;
  color: #FE4A49;
}

如果我这样做:

.switch {
  background-color: #FE4A49;
  color: #FE4A49;
}

那么无论状态如何,背景都将始终相同。

将开关与 Angular 的模型绑定一起使用时,设置开关样式的正确方法是什么?

4

3 回答 3

7

我正在设计一个应用程序,这就是我会做的。

CSS:

Switch#userStatus[checked=true]{
  color:#ff0048 ;
  background-color: white;
  transform: scale(1.25, 1.25); // This is for change the size when checked
  transform: translate(-5,0); // This is for stay the position after scale it
}

Switch#userStatus[checked=false]{
  color: gray;
  background-color: gray;
}

这是我的 XML:

`<Switch id="userStatus" checked="false" />`

我希望这有帮助!

于 2017-05-12T16:20:38.123 回答
1

我的开关有问题

背景颜色

它没有按预期工作。更改背景颜色正在更改整个开关(灰色部分)。所以我只需要改变颜色属性:

Switch[checked=true] {
    color: #f68533;
}
于 2017-10-12T21:06:31.853 回答
0
.switch-notchecked {
    background-color: #FE4A49;
    color: yellow;
}

.switch-checked {
    background-color: blue;
    color: green;
}

在您的模板中

<Switch #sw checked="false" (checkedChange)="switchChanged(sw.checked)" [class]="isChecked?'switch-checked':'switch-notchecked'"></Switch>

在您的组件中

isChecked:boolean;

 switchChanged(checked) {
        this.isChecked = checked;
    }
于 2017-04-23T10:26:06.683 回答