angular-material - 角材料反应形式。根据下拉选择禁用复选框
问题描述
我有一些代码根据下拉选择禁用复选框。我现在还想根据下拉菜单中的选择强制取消选中。
html:
<ng-container matColumnDef="permissions">
<th mat-header-cell class="text-center" *matHeaderCellDef>Permissions</th>
<td mat-cell *matCellDef="let p" class="text-center">
<mat-select [formControl]="p.item.permissionsControl">
<mat-option [value]="permissionOptions.NoAccess">No Access</mat-option>
<mat-option [value]="permissionOptions.ReadOnly">Read Only</mat-option>
<mat-option [value]="permissionOptions.Modify">Modify</mat-option>
<mat-option [value]="permissionOptions.Confirm">Confirm</mat-option>
<mat-option [value]="permissionOptions.Full">Full</mat-option>
</mat-select>
</td>
</ng-container>
<ng-container matColumnDef="canConfirmOwnChanges">
<th mat-header-cell class="text-center" *matHeaderCellDef>Can Confirm Own Changes</th>
<td mat-cell *matCellDef="let p" class="text-center">
<span *ngIf="p.item.permissionsControl.value == permissionOptions.Confirm || p.item.permissionsControl.value == permissionOptions.Full">
<mat-checkbox [disabled]="false" [formControl]="p.item.canConfirmOwnChangesControl"></mat-checkbox>
</span>
<span *ngIf="p.item.permissionsControl.value == permissionOptions.NoAccess || p.item.permissionsControl.value == permissionOptions.ReadOnly || p.item.permissionsControl.value == permissionOptions.Modify">
<mat-checkbox [disabled]="true" [formControl]="p.item.canConfirmOwnChangesControl"></mat-checkbox>
</span>
</td>
</ng-container>
添加 [checked]="false" 在这里不起作用。
任何建议将不胜感激!
解决方案
我设法通过为下拉列表订阅 FormControl 上的 valueChanges 来实现这一点,然后启用/禁用并设置复选框 FormControl 上的值
推荐阅读
- .net - 未找到带有 Mono 的 Apache
- reactjs - API 未返回正确的 JSON (react/express/axios)
- javascript - 将数组传递给函数 - PG 和 NodeJS
- angular - 来自 web api 2 的响应类型以及如何在 Angular 6 中处理它们
- datetime - 在 golang 中解析日期
- python - 一种在 Python 中向 contextvars 添加类型的方法
- matlab - BFGS 准牛顿算法不计算步长
- typo3 - TYPO3 异常 #1294587217:从 6.2.6 升级到 7.6.20 时
- javascript - 打开新标签或窗口,而不是弹出角度 2
- angular - 角度库安装对等依赖问题