2016-12-14 9 views
3

Ionic v2を使用しているため、ページを表示するときに選択した値を設定できません。ion-optionのデフォルト選択値の設定方法は?

<ion-select [(ngModel)]="company.form"> 
    <ion-option *ngFor="let form of forms" [value]="form" [selected]="true">{{form.name}}</ion-option> 
</ion-select> 

私もcheckedで試してみましたが、どちらも問題ありません。これどうやってするの?あなたのTS内の

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-rc.3 
Ionic CLI Version: 2.1.13 
Ionic App Lib Version: 2.1.7 
Ionic App Scripts Version: 0.0.45 
+0

これを試してみてください'component.ts' –

答えて

1

あなたは属性選択または[選択]で作業する必要はありません、それは必要ありません

<ion-select [(ngModel)]="company.form.id" name="company.form.id"> 
    <ion-option *ngFor="let form of forms" value="{{ form.id }}"> 
     {{ form.name }} 
    </ion-option> 
</ion-select> 
+0

私が知っている限り、これはionic v2 rc-3のバグであり、最終リリースで修正されました。私はあなたのソリューションが今働いていると思います。それはうまくいくはずです。私の解決策はrc-3のバグに対する回避策でした。だから将来の参考として私は私の元の質問のための最良のソリューションとしてあなたの答えを設定します。ご回答有難うございます! – Perrier

4
<ion-select [(ngModel)]="name">// binding the value available from ts file 
    <ion-option *ngFor="let form of forms; let idx = index" [value]="form.name" selected="{{(idx==0).toString()}}">{{form.name}}</ion-option> 
</ion-select> 

イオンのオプションの中に、あなたが行うことができます

name = this.forms[0].name //assign the variable name to the first index of your array 
+0

これは動作しますか?文字列の選択時に 'ngModel'をバインドしているようですが、オプション値はすべてオブジェクトです。 – Lex

+0

nameプロパティでも機能しませんでした。 – Perrier

+0

さて、少なくとも、rc3のこのイオンオプションは実際にはデフォルト値を示すことが示されました。しかし、解決策はオブジェクトをオブジェクトに使用することではなく、インデックスも関与させる必要はありません。ありがとうございました@MohanGopi – Perrier

0

ファイルが

<ion-option [attr.selected]="(form.name == name) ? true : null"> {{ form.name }} </ion-option> 
+0

うまくいきませんでした。 [attr.checked]と一緒に試してみましたが、それはどちらもしませんでした。あなたは同じイオンバージョンを使用していますが、これはあなたのために働くのですか? – Perrier

9

問題は、オブジェクトを好きではないこと、イオンのオプションのようですrc3で私はオブジェクトのid部分だけを使って作業し、必要なオブジェクトを見つけてそれを値として設定する別の変更ハンドラを書く必要があります。

<ion-select [ngModel]="company.form.id" (ngModelChange)="companyFormSelected($event)" okText="Ok" cancelText="Mégsem"> 
    <ion-option *ngFor="let form of forms" [value]="form.id" [selected]="form.id == company.form.id">{{form.name}}</ion-option> 
    </ion-select> 

そしてchangehandler:

companyFormSelected(newform) { 
    let selectedForm = this.forms.find((f)=>{ 
     return f.id === newform; 
    }); 
    this.company.form=selectedForm; 
} 

これはRC3のバグのようですが、私はバグを報告することができますどこか分かりません。私はtopic on ionic forumを開いた。あなたの中に `this.company.form = this.forms [0]`:

0
in html----> 

    <ion-item text-center > 
     <ion-select [(ngModel)]="selectedQuestion" placeholder="Choose Security Question" > 
      <ion-option *ngFor="let q of questionArray let i=index" selected="{{(i==defaultSelectQuestion).toString()}}" > 
      {{q}} 
      </ion-option> 
     </ion-select> 
     </ion-item> 


in ts----> 
//if u dont want any default selection 
    this.defaultSelectQuestion = -1; 

//if first element should be your default selection 
    this.defaultSelectQuestion = 0; 



this.selectedQuestion=this.questionArray[this.defaultSelectQuestion] 
関連する問題