【问题标题】:IONIC 2 radio button inside Virtual scrolling ,multiple option getting selected automatically if I select any one of the optionIONIC 2单选按钮在虚拟滚动中,如果我选择任何一个选项,就会自动选择多个选项
【发布时间】:2017-08-18 18:08:48
【问题描述】:

这是我的虚拟滚动代码

 <ion-list [virtualScroll]="options" *ngIf="options.length>99" radio-group style="opacity: 0.9;">
    <ion-item *virtualItem="let option">
        <ion-label style="font-size: 12pt" text-wrap>{{ option.optionText }} </ion-label>
        <ion-radio value='{{ option.optionId }}' (ionSelect)="setSelectedOption(option)"></ion-radio>
    </ion-item>       
</ion-list>

任何帮助将不胜感激谢谢

编辑-我刚刚发现这个问题已经在 GitHub 上 been raised 但如果有人可以帮助我解决任何非常有用的解决方法

【问题讨论】:

    标签: html angular ionic2


    【解决方案1】:

    好的,所以您正在寻找解决方法。

    如果我查看&lt;ion-radio&gt;docs,有一个名为checked 的选项,就像普通的单选按钮一样。这意味着你可以这样做:

    <ion-radio value='{{ option.optionId }}' (ionSelect)="setSelectedOption(option)" [checked]="isChecked(option.optionId)"></ion-radio>
    

    ts

    options: = [];
    selectedOptions: number[] = [];
    
    constructor() {}
    
    setSelectedOption(option: any) {
        let index = this.selectedOptions.indexOf(option.optionId);
        if(index > -1) {
           this.selectedOptions.push(option.optionId);
        } else {
           this.selectedOptions.slice(index, 1);
        }
    }
    
    isChecked(id: number): boolean {
        // true if id is in selectedOptions, false if it isn't
        return (this.selectedOptions.indexOf(id) > -1);
    }
    

    编辑

    尝试使用普通的 HTML 无线电输入,因为那时离子输入似乎有问题

    <form action="">
       <ion-list [virtualScroll]="options" *ngIf="options.length>99" style="opacity: 0.9;">
          <ion-item *virtualItem="let option">
            <ion-label style="font-size: 12pt" text-wrap>{{ option.optionText }} </ion-label>
            <input type="radio" [value]="option.optionId" (click)="setSelectedOption(option) [checked]="isChecked(option.optionId)">
        </ion-item>       
      </ion-list>
    </form>
    

    【讨论】:

    • 感谢@Ivaro18 的努力,但仍然无法正常工作。 setSelectedOption() 方法每次选择都会被调用一次,并使用正确的选项对象作为参数,但在 UI 中我看到多个选项被选中。
    • @Abhijeet 编辑了另一种解决方法,但不使用 &lt;ion-radio&gt; 希望这会奏效
    猜你喜欢
    • 2013-02-24
    • 2016-05-28
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 2018-11-30
    相关资源
    最近更新 更多