【问题标题】:Check default ion-radio using ngIf使用 ngIf 检查默认的 ion-radio
【发布时间】:2018-11-04 08:25:17
【问题描述】:

我正在尝试使用与*ngIf 的值比较来检查离子无线电。我用*ngFor动态显示了我的离子无线电值。

这是我的 html 方面的内容:

<ion-list radio-group *ngFor="let category of categories">
    <div *ngIf="category.id === 1">
      <ion-item>
        <ion-label>{{ category.category_title }}</ion-label>
        <ion-radio [checked]="true" value="{{ category.id }}" (ionSelect)="selectedCategory(category.id)"></ion-radio>
      </ion-item>
    </div>

    <div *ngIf="category.id !== 1">
      <ion-item>
        <ion-label>{{ category.category_title }}</ion-label>
        <ion-radio [checked]="false" value="{{ category.id }}" (ionSelect)="selectedCategory(category.id)"></ion-radio>
      </ion-item>
    </div>
</ion-list>

基于上面的编码,我使用*ngIf="category.id === 1" 来检查离子无线电值是否为1,那么离子无线电应该检查为真,否则它将保持为假。我也检查了其他人的帖子,并尝试在我的代码中应用它,但它不起作用。我不太确定 if else 是如何在 Angular 中工作的。

编辑

从组件方面:

categories = [];

getCategories(){
    this.http.get(this.restProvider.restApiUrl+'practice/getCategory').map(res => res.json())
    .subscribe(data => {
        this.categories = data.categories;
    });
}

【问题讨论】:

    标签: angular ionic-framework


    【解决方案1】:

    尝试使用[value] 而不是value

    <ion-list radio-group *ngFor="let category of categories">
        <div *ngIf="category.id === '1'">
          <ion-item>
            <ion-label>{{ category.category_title }}</ion-label>
            <ion-radio [checked]="true" [value]="category.id" (ionSelect)="selectedCategory(category.id)"></ion-radio>
          </ion-item>
        </div>
    
        <div *ngIf="category.id !== '1'">
          <ion-item>
            <ion-label>{{ category.category_title }}</ion-label>
            <ion-radio [checked]="false" [value]="category.id" (ionSelect)="selectedCategory(category.id)"></ion-radio>
          </ion-item>
        </div>
    </ion-list>
    

    【讨论】:

    • 感谢您的回复。如果我使用[value] 而不是value 它会给我一个错误Template parse errors
    • 你确定吗?我为你创建了一个堆栈闪电战stackblitz.com/edit/ion-radio-list-example-baxbqf
    • 是的,它确实有效。我只是在应用它时犯了一些错误。谢谢。
    • 抱歉,我能再问一个问题吗?我应该如何根据用户选择更改选择的收音机?因为它目前允许全选。
    • 在这里查看stackblitz.com/edit/…,我添加了[(ngModel)]希望它对你有帮助。
    【解决方案2】:

    我猜你的 category.id 是一个字符串,所以你应该把 ''

    括起来
    <div *ngIf="category.id === '1'">
    

    【讨论】:

    • 我的分类结果是这个{"categories": [{ "id": "5", "category_title": "Category 1" }]}
    • 我试过用引号括起来,但还是不行。
    • 你也可以发布你的component.ts
    • 代码看起来是正确的,顺便说一句,你是否也在 else 部分添加了一个 ''?
    • 是的,我都添加了。
    猜你喜欢
    • 2022-07-01
    • 2017-11-26
    • 2016-09-29
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 2018-10-11
    • 2018-08-07
    相关资源
    最近更新 更多