typescript 在下拉菜单中将true/false设置为yes/no

krcsximq  于 2023-03-24  发布在  TypeScript
关注(0)|答案(3)|浏览(123)

我有下面的代码:

<div *ngSwitchCase="'Boolean'">
        <select *ngIf="attribute.IsWritable" [(ngModel)]="animal[attribute.AttributeKey]">
            <option (value)="animal[attribute.AttributeKey]==true">Yes</option>
            <option (value)="animal[attribute.AttributeKey]==false">No</option>
        </select>
        <span *ngIf="!attribute.IsWritable && attribute.IsReadable && animal[attribute.AttributeKey] ">Yes</span>
        <span *ngIf="!attribute.IsWritable && attribute.IsReadable && !animal[attribute.AttributeKey]">No</span>             
     </div>

我想改变下拉显示是或现在根据从动物[属性.AttributeKey]返回的值是真或假.我怎么才能去实现这一点?.任何帮助是感激.还有我怎么能保持这里返回的值被默认选中?

sg24os4d

sg24os4d1#

您可能想尝试绑定选项value作为输入:

<select *ngIf="attribute.IsWritable" [(ngModel)]="animal[attribute.AttributeKey]">
  <option [value]="true">Yes</option>
  <option [value]="false">No</option>
</select>
3htmauhk

3htmauhk2#

这不会像您期望的那样工作,因为在select中绑定到value选项将返回

'true''false'
<select *ngIf="attribute.IsWritable" [(ngModel)]="animal[attribute.AttributeKey]"> <option [value]="true">Yes</option> <option [value]="false">No</option> </select>
因此,在这种情况下,下一部分应该如下所示:

<span *ngIf="attribute.IsWritable && attribute.IsReadable && animal[attribute.AttributeKey] === 'true' ">Yes</span>
<span *ngIf="attribute.IsWritable && attribute.IsReadable && animal[attribute.AttributeKey] === 'false'">No</span>
yuvru6vn

yuvru6vn3#

我是这样做的:

<div>
          <label for="active" class="form-label">Active State</label>
          <select id="active" class="form-select" #op (change)="data.active = op.value == 'true'">
            <option value="true" selected>True</option>
            <option value="false">False</option>
          </select>
        </div>

通过使用selecthtml上的attribute标记,您可以访问它的值并进行比较以相应地设置属性值

相关问题