angular - Ngx-bootstrap 的无线电组在加载时不会绑定到选定的值
问题描述
我的 ngx-bootstrap 单选按钮工作正常并绑定到 selectedValue,除非页面首次加载。虽然 selectedValue 已初始化,但 ngModel 在页面首次加载时不会绑定到它。
我尝试在类和 OnInit() 中初始化 selectedValue 成员,希望这是操作顺序问题,但 ngModel 在页面加载时仍然不会绑定。
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'demo-buttons-radio',
templateUrl: './radio.html'
})
export class DemoButtonsRadioComponent implements OnInit {
radioModel = 'Left';
selectedValue: number = 0;
familyValues: number[] = [ 0, 1, 2, 3, 4 ];
ngOnInit() {
this.selectedValue = 0;
}
}
这是我的 HTML:
<pre class="card card-block card-header">{{selectedValue || 'null'}}</pre>
<div class="btn-group">
<label class="btn btn-primary" [(ngModel)]="selectedValue" btnRadio="0" tabindex="0" role="button">0</label>
<label class="btn btn-primary" [(ngModel)]="selectedValue" btnRadio="1" tabindex="0" role="button">1</label>
<label class="btn btn-primary" [(ngModel)]="selectedValue" btnRadio="2" tabindex="0" role="button">2</label>
<label class="btn btn-primary" [(ngModel)]="selectedValue" btnRadio="3" tabindex="0" role="button">3</label>
<label class="btn btn-primary" [(ngModel)]="selectedValue" btnRadio="4" tabindex="0" role="button">4</label>
</div>
<div class="btn-group" *ngFor="let value of familyValues;" btnRadioGroup [(ngModel)]="selectedValue">
<label class="btn btn-success" btnRadio="{{value}}" tabindex="0" role="button">{{value}}</label>
</div>
ngx-bootstrap 演示有效,如选择的初始按钮所示。难道是 ng-model 不喜欢整数?
解决方案
尝试使用属性绑定([btnRadio]="value"
)
<label
class="btn btn-primary"
[(ngModel)]="selectedValue"
[btnRadio]="value"
tabindex="0"
role="button">
{{value}}
</label>
而不是字符串插值(btnRadio="{{ value }}"
)
<label
class="btn btn-primary"
[(ngModel)]="selectedValue"
btnRadio="{{value}}"
tabindex="0"
role="button">
{{ value }}
</label>
这是您参考的工作示例 StackBlitz。
推荐阅读
- python - 循环浏览google colab中多个文件夹中的不同图像并将图像格式从一种转换为另一种
- javascript - 我们如何在 React 应用程序的客户端显示 CSS 类?
- snakemake - 我的工作流程忽略了通过 Inputfunction 决定的路径
- python - 使用 nibabel 以“SPM”样式保存 nifti
- docker - nginx conf 位置指令中的 if 语句在评估环境变量时抛出错误
- salt-stack - 如何实现等待其他小兵完成某些工作然后执行某些状态的状态?
- node.js - 如何阻止来自某些国家或地区的 api 访问?
- sqlite - 当我单击 mlflow 中的模型时出现错误
- javascript - 来自控制器的 SignalR 调用
- java - 为什么我们需要在同一个类中使用构造函数链接而不是使用方法?