如何使用mat-checkbox绑定字符串

时间:2019-03-14 08:06:30

标签: angular angular-material

我在应用中使用了mat-checkbox,但我不知道如何从复选框中接收字符串,而是布尔值。

在网站上阅读API Angular Material checkbox API  我可以找到可以将字符串关联到此复选框的“值”属性...但是如何将其绑定到变量?

我正在尝试类似的事情。

<mat-checkbox color="warn" value="Hello" [(ngModel)]="myString"> Hello </mat-checkbox>

但是我的变量正在获取布尔值...我该怎么办?

3 个答案:

答案 0 :(得分:1)

绑定复选框的ngModel将始终返回其检查状态(true / false /不确定)。如果您想从复选框中获取document.getElementById("btn-birthdate")属性,可以像这样向元素添加更改事件

docker-compose

以及您的组件ts

git clone

答案 1 :(得分:1)

后端中的所有复选框都收到“ Y”或“ N”,因此我必须这样做:
删除[(ngModel)]并为所有复选框创建一个函数

<mat-checkbox name="active" [checked]="model.active === 'Y'" (change)="checkboxChange($event);" > Click me </mat-checkbox>

component.ts

checkboxChange( event ){
   let name = event.source.name;
   this.model[name] = event.checked ? 'Y' : 'N';
}

答案 2 :(得分:0)

您可以使用name属性而不是ngModel来存储字符串值。

<mat-checkbox [(ngModel)]="isChecked"                                                                                    
       name="{{checkboxStringValue}}">//make sure name is unique for every item
        </mat-checkbox>