Angular 默认单选按钮选择值“角度材质2”
我正在使用以下文档中的angular material 2单选按钮:Angular 默认单选按钮选择值“角度材质2”,angular,angular-material2,Angular,Angular Material2,我正在使用以下文档中的angular material 2单选按钮: 我面临的问题是让单选按钮的默认选择值为No。如果您在plunker中看到:您将发现没有选择任何选项。加载页面时,我希望默认值为No 您可以使用checked,如下所示: [checked]="data.value ==='false'" 请注意,我们正在使用字符串'false',而不是false,因为您的值具有值为false的字符串 您可以使用[选中]属性来实现它。 参见此还有另一个选项,即您可以使用[(ngModel)]
我面临的问题是让单选按钮的默认选择值为
No
。如果您在plunker中看到:您将发现没有选择任何选项。加载页面时,我希望默认值为No
您可以使用checked
,如下所示:
[checked]="data.value ==='false'"
请注意,我们正在使用字符串'false'
,而不是false
,因为您的值具有值为false
的字符串
您可以使用
[选中]
属性来实现它。
参见此还有另一个选项,即您可以使用
[(ngModel)]
初始化带有您的组件的md无线电组
普朗克。许多普朗克似乎不再适合我了。这里有一个修改过的stackblitz: 如上所述,我们可以设置ngModel和变量:
[(ngModel)]="favoriteSeason"
在“ts”文件中:
favoriteSeason: string = 'Winter';
或者我们可以设置复选框:
[checked]="season === 'Winter'"
我最近发现的另一个小问题是,如果您错误地给mat checkbox错误的(重复ID),那么它就不起作用-您无法检查任何东西。确保您的ID是唯一的。我喜欢使用物料单选按钮时的反应式方法。下面是一个示例,说明如何使用数据库检查特定formControlName的true和false 对话框中的组件
<mat-radio-group formControlName="trueClient">
<mat-radio-button class="material-radio" value="true" [checked]="data.trueClient === 'true'">True Client</mat-radio-button>
<mat-radio-button class="material-radio" value="false" [checked]="data.lostLead === 'false'">Lost Lead</mat-radio-button>
</mat-radio-group>
在这种情况下,我在对话框中打开数据。因此,数据来自以下方面:
打开对话框的component.ts preor。只是一个引用,这样你就知道我从哪里得到了上面的数据变量来设置值
用于打开对话框的组件。有关如何设置的更多信息,请参考物料文档中的
const dialogRef = this.dialog.open(ClientNotesComponent, {
height: '600px',
width: '800px',
data: {trueClient: trueClient}
});
});
}
HTML文件
<mat-radio-group aria-label="Select an option" [(ngModel)]="formValues['type']">
<mat-radio-button value="individual">Individual</mat-radio-button>
<mat-radio-button value="business">Business</mat-radio-button>
</mat-radio-group>
在我的例子中,通过将name=“howLong”
属性替换为[ngModelOptions]=“{standalone:true}”
解决了选择问题
需要注意的一点是,选择的工作时间为一天或少于一天。但它的工作时间不超过一天
非工作版本:
<mat-radio-group
[(ngModel)]="howLong"
name="howLong"
(change)="resetTime()">
<mat-radio-button class="ignore" value="MoreThanADay">
More than a day
</mat-radio-button>
<mat-radio-button value="ADayOrLessThanADay">A day or less than a day</mat-radio-button>
</mat-radio-group>
<mat-radio-group
[(ngModel)]="howLong"
[ngModelOptions]="{standalone: true}"
(change)="resetTime()">
<mat-radio-button class="ignore" value="MoreThanADay">
More than a day
</mat-radio-button>
<mat-radio-button value="ADayOrLessThanADay">A day or less than a day</mat-radio-button>
</mat-radio-group>
一天多
一天或不到一天
工作版本:
<mat-radio-group
[(ngModel)]="howLong"
name="howLong"
(change)="resetTime()">
<mat-radio-button class="ignore" value="MoreThanADay">
More than a day
</mat-radio-button>
<mat-radio-button value="ADayOrLessThanADay">A day or less than a day</mat-radio-button>
</mat-radio-group>
<mat-radio-group
[(ngModel)]="howLong"
[ngModelOptions]="{standalone: true}"
(change)="resetTime()">
<mat-radio-button class="ignore" value="MoreThanADay">
More than a day
</mat-radio-button>
<mat-radio-button value="ADayOrLessThanADay">A day or less than a day</mat-radio-button>
</mat-radio-group>
一天多
一天或不到一天
如果要使用[(ngModel)]将字符串或布尔值传递给mat无线组,
您可以在TS文件中为您的[(ngModel)]设置默认值。
像这样:
谢谢你的帮助!!谢谢你的帮助!!请注意,如果使用[(ngModel)]
,则不能再使用[选中]
属性。例如,如果将[选中]
显式设置为false
,但绑定到mat单选组的组件变量的值等于此mat单选按钮的值
,单选按钮确实将保持选中编辑,建议为您发布的答案添加一些描述,问题日期为1,5年前,其他几个答案已经提到了使用[选中]
,它们不限于静态值,而是根据用户的实际数据设置值。这个答案并没有添加任何有用的内容,当然也不会在没有描述的情况下添加。请尝试使用源代码避免使用图像URL。最好将源代码作为代码块直接添加到问题/答案中。这将提高可读性和质量。看一看,欢迎来到SO。
<mat-radio-group
[(ngModel)]="howLong"
[ngModelOptions]="{standalone: true}"
(change)="resetTime()">
<mat-radio-button class="ignore" value="MoreThanADay">
More than a day
</mat-radio-button>
<mat-radio-button value="ADayOrLessThanADay">A day or less than a day</mat-radio-button>
</mat-radio-group>