angular - 使单选按钮选择默认不基于值进行选择
问题描述
我试图在默认情况下从一组单选按钮中创建一个按钮,以根据给定单选按钮的值进行选择,各个单选按钮具有值,但按值选择没有发生。
以下是我的帮助片段:
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData.type"
type="radio" name="logistics" checked="checked" id="100" [value]="100"
[checked]="logisticsData.type == '100'">
<label for="100">Logistic 1</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData.type"
type="radio" name="logistics" id="101" [value]="101"
[checked]="logisticsData.type == '101'">
<label for="101">Logistic 2</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData.type"
type="radio" name="logistics" id="102" [value]="102"
[checked]="logisticsData.type == '102'">
<label for="102">Logistic 3</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData.type"
type="radio" name="logistics" id="103" [value]="103"
[checked]="logisticsData.type == '103'">
<label for="103">Logistic 4 </label>
</div>
</div>
目前,logisticData.type的值为 103,但未选中按钮
解决方案
你的代码应该是这样的
HTML
<div class="field">
<div *ngFor="let list of data; let idx = index" class="ui radio checkbox">
<input type="radio" [(ngModel)]="logisticsData" name="radiogroup" [checked]="list.id === 102" [value]="list.id" />{{ list .description }}
<label for="102">{{list.label}}</label>
</div>
</div>
TS 代码
logisticsData = 102;
data = [ {id: 101, description: '101', label: 'Logistic 1' }, {id: 102,description: '102', label: 'Logistic 2'}, {id: 103,description: '103', label: 'Logistic 3'} ];
注意:- 您可以设置角度&& 的选中[checked]="list.id === 102"
属性,您可以使用这样的 ts 代码默认分配logisticsData = 102;
硬编码 HTML 的第二个示例
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData" type="radio" name="logistics" checked="checked" id="101" value="101" />
<label for="101">Logistic 1</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData" type="radio" name="logistics" id="102" value="102" />
<label for="101">Logistic 2</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData" type="radio" name="logistics" id="103" value="103" />
<label for="102">Logistic 3</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input [(ngModel)]="logisticsData.type" type="radio" name="logistics" id="104" value="104" />
<label for="104">Logistic 4 </label>
</div>
</div>
ts 代码
logisticsData = '102';
推荐阅读
- typescript - Typescript:使用声明合并扩展外部 javascript 库的接口
- apache-spark - Spark2 读取 ORC 文件比 Spark1 慢得多
- cassandra - Cassandra 触发器 jar 正在加载但未执行该类
- angular - 物料表中如何默认展开所有行?
- linux - 为什么ELF文件有这么多空格?
- sql-server - QT 连接错误 [Microsoft][ODBC SQL Server Driver][SQL Server] 用户 '' 登录失败。QODBC3: 无法连接
- iframe - 无法在超级集中显示 matomo iframe
- r - 查找属于特定 ID 的所有记录都已停用
- reactjs - 如何在 React 组件的 render() 中使用回调
- vue.js - Vue路由器不工作并且不显示任何东西