gpt4 book ai didi

javascript - 如何将复选框设置为有条件选中

转载 作者:行者123 更新时间:2023-11-30 14:50:48 28 4
gpt4 key购买 nike

我有一个 JSON,其中一些字段是 bool 值,但不幸的是它们的值不是 1/0 或 true/false。取而代之的是,他们的值(value)观是“Y”/“N”,我为此苦苦挣扎。

我正在尝试根据以下条件设置检查属性:

[checked]="myobj.isdeleted == 'Y' ? true : false"
[attr.checked]="myobj.isdeleted == 'Y' ? true : false"

[checked]="myobj.isdeleted == 'Y' ? true : null"
[attr.checked]="myobj.isdeleted == 'Y' ? true : null"

但它们都不起作用。有什么想法可以实现吗?

完整标记:

<input type="checkbox" name="isdeleted"  [checked]="myobj.isdeleted=='T' ? true : false" id="isdeleted" [(ngModel)]="myobj.isdeleted">

最佳答案

可以在组件类中写一个属性:

public get isObjectDeleted(): boolean {
return this.myobj.isdeleted === "Y";
}
public set isObjectDeleted(value: boolean) {
this.myobj.isdeleted = value ? "Y" : "N";
}

并将该属性用于 ngModel,如 this stackblitz 所示:

<input type="checkbox" [(ngModel)]="isObjectDeleted" name="isdeleted" id="isdeleted" />

如果您想将属性的名称(例如 isdeleted)作为参数传递,您可以使用 [ngModel](ngModelChange)分别:

<input type="checkbox" [ngModel]="isChecked('prop1')" (ngModelChange)="setChecked('prop1', $event)" name="prop1" />

使用组件类中定义的两个公共(public)方法:

public isChecked(propName: string): boolean {
return this.myobj[propName] === "Y";
}
public setChecked(propName: string, value: boolean): void {
this.myobj[propName] = value ? "Y" : "N";
}

关于javascript - 如何将复选框设置为有条件选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48130495/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com