我已经在ts文件中创建了数组,并使用ngFor从数组中获取元素,但是当我使用键值时,angular会自动对数组进行排序。如何像创建数组一样保存订单。
TS代码:
filterListingTypeItems: { [key: string]: object } = {
'For sale': [
'For sale',
'By Agent',
'By ownre',
'New Construction',
'Foreclosures',
'Coming Soon',
],
'Potential listings': [
'Potential listings',
'Foreclosed',
'Pre-Foreclosure',
'Make Me Move',
],
'For Rent': ['For Rent'],
'Recently sold': ['Recently sold'],
_________________________: ['Open House only', 'Pending & Under Contract'],
}
HTML代码(角度材料):
<mat-optgroup
*ngFor="let listingOptions of (filterListingTypeItems | keyvalue)"
[label]="listingOptions.key"
>
<mat-option
*ngFor="let listingOption of listingOptions.value"
[value]="listingOption"
>{{ listingOption }}</mat-option
>
</mat-optgroup>
答案 0 :(得分:0)
您不是创建数组而是创建对象。因此,首先没有顺序。
如果需要订单,请创建一个数组而不是对象。
filterListingTypeItems = [
{
key: 'For sale',
value: [
'For sale',
'By Agent',
'By ownre',
'New Construction',
'Foreclosures',
'Coming Soon',
]
},
...
]
答案 1 :(得分:0)
您可以创建一个在ts组件文件中返回0的函数。
function returnZero() {
return 0
}
在模板文件中
<td *ngFor="let item of cfValues | keyvalue : returnZero">