清除 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