javascript - Angular2 动态按钮一次只能选择一个

标签 javascript angular angular2-template angular2-databinding

我正在尝试创建以下 UI/UX 按钮:
.. [2015] [2016] [2017]

默认情况下“选择”当前年份(在撰写本文时为 2017 年),但是,当用户单击“2015”时,应取消选择“2017”和“2016”(这些按钮“互斥”) ')

这些按钮是从外部数据源生成的,该数据源为我提供了年份数据:

<button *ngFor="let year of styles.years"  type="button" name="button" class="btn btn-default" id="{{year.year}}">
  {{year.year}}
</button>

如何创建一个按钮系统,其中一个按钮是“自动选择”的,当选择“其他”按钮时,它会取消选择主动选择的按钮,并将现在单击的按钮设置为“选择”?

最佳答案

在组件activeYear中设置一个属性,并通过将逻辑绑定(bind)到按钮的(点击)来控制它

<button *ngFor="let year of styles.years"  
    [ngClass]="{ active: activeYear === year }"
    (click)="activeYear = year.year"
    type="button" name="button" class="btn btn-default"  id="{{year.year}}">
    {{year.year}}
</button>

Heres a working Plunker demonstrating this

关于javascript - Angular2 动态按钮一次只能选择一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42258233/

相关文章:

javascript - 使用node js按名称过滤

javascript - 为什么 powershell 不运行 Angular 命令?

Angular ngOnChanges 不更新 View

angular - 在 Angular 2+ 中处理双向数据绑定(bind)时如何处理 null 变量

javascript - 使用 HTML5 将两个 Canvas 方 block 设置到 Canvas 的中心

javascript - 为什么 Template.mytemplate.rendered 在尝试为 Meteor.js 中的实时更改设置动画时会被触发两次?

angular - 使用 Angular 项目时,只要打开开发人员工具,Internet Explorer 11 就会崩溃

javascript - 如何检查 Angular 4/6 的状态变化?

angular - Angular2 中的输入属性绑定(bind)

javascript - 禁用滚动条上的 mousedown 绑定(bind)事件