清除 Angular 2 App 中的 md-radio-button 选择
Clearing md-radio-button selections in Angular 2 App
我在我的 Angular 应用程序中设置了排序过滤器,它通过 md-radio-group 使用单选按钮,以便用户可以在 table 数据显示中选择首选排序方法.单选按钮按预期工作。但是,我还有一个 "Restore Defaults" 按钮,我想用它来清除所有单选按钮选择和 return 以进行默认排序。到目前为止,我很难清除单选按钮。
这是我的视图代码的样子:
<filter-option name="Sort"
placeholder="Select Sorting Option"
[usePlaceholder]="!value"
[visible]="sortFilters.enabled">
<filter-label>{{value | capitalize}}</filter-label>
<filter-menu>
<md-radio-group class="mat-radio-label-content">
<md-radio-button value="alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'alphabetical')">
Alphabetical
</md-radio-button>
<md-radio-button value="reverse alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'reverse alphabetical')">
Reverse Alphabetical
</md-radio-button>
<md-radio-button value="numeric ID" class="vert-radiobox-list" (click)="onSortClicked(value = 'numeric ID')">
Numeric ID
</md-radio-button>
</md-radio-group>
<button md-button class="restore-button" (click)="clearSortingFilters()">Restore Defaults</button>
</filter-menu>
</filter-option>
在我的组件中,我有这个初始化过滤器:
sortFilters =
{
enabled: true,
value: false
};
这是按钮附带的功能,用于清除排序过滤器:
clearSortingFilters()
{
this.sendSort.emit(this.value = '');
}
现在,在上面的函数中,this.sendSort.emit(this.value = '')
完成了清除过滤器标签区域中显示的选择。但是我如何清除 md-radio-group 单选按钮选择呢?
在我看来,您可能希望将 NgModel 添加到您的输入值中。像这样:[(ngModel)]="reverse alphabetical"。此外,您可能希望更改 OnClick 函数以将 "reverse alphabetical" 的值更改为 false。
这是您应该如何修改代码才能工作:
html
<md-radio-group class="mat-radio-label-content" [(ngModel)]="selectedValue">
<md-radio-button value="alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'alphabetical')">
Alphabetical
</md-radio-button>
<md-radio-button value="reverse alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'reverse alphabetical')">
Reverse Alphabetical
</md-radio-button>
<md-radio-button value="numeric ID" class="vert-radiobox-list" (click)="onSortClicked(value = 'numeric ID')">
Numeric ID
</md-radio-button>
</md-radio-group>
<button md-button class="restore-button" (click)="clearSortingFilters()">Restore Defaults</button>
ts
selectedValue: string;
clearSortingFilters(){
this.selectedValue = null; // or false or ''
}
工作的笨蛋 here
我在我的 Angular 应用程序中设置了排序过滤器,它通过 md-radio-group 使用单选按钮,以便用户可以在 table 数据显示中选择首选排序方法.单选按钮按预期工作。但是,我还有一个 "Restore Defaults" 按钮,我想用它来清除所有单选按钮选择和 return 以进行默认排序。到目前为止,我很难清除单选按钮。
这是我的视图代码的样子:
<filter-option name="Sort"
placeholder="Select Sorting Option"
[usePlaceholder]="!value"
[visible]="sortFilters.enabled">
<filter-label>{{value | capitalize}}</filter-label>
<filter-menu>
<md-radio-group class="mat-radio-label-content">
<md-radio-button value="alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'alphabetical')">
Alphabetical
</md-radio-button>
<md-radio-button value="reverse alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'reverse alphabetical')">
Reverse Alphabetical
</md-radio-button>
<md-radio-button value="numeric ID" class="vert-radiobox-list" (click)="onSortClicked(value = 'numeric ID')">
Numeric ID
</md-radio-button>
</md-radio-group>
<button md-button class="restore-button" (click)="clearSortingFilters()">Restore Defaults</button>
</filter-menu>
</filter-option>
在我的组件中,我有这个初始化过滤器:
sortFilters =
{
enabled: true,
value: false
};
这是按钮附带的功能,用于清除排序过滤器:
clearSortingFilters()
{
this.sendSort.emit(this.value = '');
}
现在,在上面的函数中,this.sendSort.emit(this.value = '')
完成了清除过滤器标签区域中显示的选择。但是我如何清除 md-radio-group 单选按钮选择呢?
在我看来,您可能希望将 NgModel 添加到您的输入值中。像这样:[(ngModel)]="reverse alphabetical"。此外,您可能希望更改 OnClick 函数以将 "reverse alphabetical" 的值更改为 false。
这是您应该如何修改代码才能工作:
html
<md-radio-group class="mat-radio-label-content" [(ngModel)]="selectedValue">
<md-radio-button value="alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'alphabetical')">
Alphabetical
</md-radio-button>
<md-radio-button value="reverse alphabetical" class="vert-radiobox-list" (click)="onSortClicked(value = 'reverse alphabetical')">
Reverse Alphabetical
</md-radio-button>
<md-radio-button value="numeric ID" class="vert-radiobox-list" (click)="onSortClicked(value = 'numeric ID')">
Numeric ID
</md-radio-button>
</md-radio-group>
<button md-button class="restore-button" (click)="clearSortingFilters()">Restore Defaults</button>
ts
selectedValue: string;
clearSortingFilters(){
this.selectedValue = null; // or false or ''
}
工作的笨蛋 here