2017-05-09 6 views
2

Angular2を使用してループを使用してドロップダウン値を1から100までの数値でバインドするにはどうすればよいですか?Angular2: 'n'個の数値でドロップダウン値を結合する

Ngprimeドロップダウンを使用している値の数が限られていますが、これを「n」個の値に対してどのように達成できますか?

テンプレート:

<p-dropdown [options]="tests" [(ngModel)]="selectedCar" [style]="{'width':'150px'}" editable="editable" placeholder="Select a Brand"></p-dropdown> 

コンポーネント:

this.tests = []; 
this.test.push({label: 'Audi', value: 'Audi'}); 

誰も私を導くことはできますか?

答えて

2

角度2の1から100までのオプションを持つドロップダウンがこのようなものになるだろう:コンポーネントで

:テンプレートで

export class DropDownClass { 
    constructor() { 
    this.numbers = new Array(100).fill().map((x,i)=>i); // [0,1,2,3,4,...,100] 
    } 
} 

<select name="my-dropdown" [(ngModel)]="myDropdownModel"> 
    <option *ngFor="let number of numbers" [ngValue]="number">{{number}}</option> 
</select> 
+0

は、「指定されたパラメータが呼び出し対象のいずれかの署名と一致しません」と、私はエラーを取得しています。(方法)配列、応答をありがとう得るために .fill(値:any、start ?: number、end ?: number):any [] ...開始値と終了値を指定する必要がありますか? – AnnMary

+0

@AnnMary問題はありません。しかしそれはあなたのために働いた?それはあなたの問題/質問を解決しましたか?あなたはどんな困難に遭遇しましたか?良い一日を! :D – SrAxi

+0

error_handler.js:54例外:キャッチされていない:TypeError:未定義のプロパティ 'fill'を読み取ることができません TypeError:未定義のプロパティ 'fill'を読み取ることができません – AnnMary

0

ワーキングコード

テンプレート内:

コンポーネントで
<label for="percentage">Percentage</label> 
    <p-dropdown formControlName="PercentageAbsence" [options]="numbers" [style]="{'width':'200px'}"> 
    </p-dropdown> 

成分で
import { SelectItem } from 'primeng/primeng'; 
    export class Test{ 
    numbers: SelectItem[] = []; 
    constructor(){ 
     Array(100).fill(0).map((x, i) => { 
     this.numbers.push({ label: `${i + 1}`, value: i + 1 }) 
    }); 
    } 
} 
0

:(YourComponent.ts)

export class YourComponent { 
itemQuantity = []; // instantiates the object to hold array of numbers 

public ngOnInit() { 
    this.itemQuantity = Array(5).fill(0).map((x,i)=>i+1); // fills array with 5 incremental entries starting from 1 (hence the "i+1"). To start at zero remove the "+1" 
} 

}テンプレートに

:(YourComponent.html)

<option *ngFor="let number of itemQuantity" value="{{number}}">{{number}}</option> 

結果は、1から5までの5つのエントリを持つドロップダウンリストです。

"value =" {{number}} "は、選択項目ごとに異なるテキストと値が必要な場合はオプションです。あなたが使用することができますナンバー1数{{番号}}

関連する問題