typescript - Hvordan deaktivere automatisk nøkkel-verdi sortering i Angular 6
Jeg har laget et array i min TS-fil og med ngFor henter jeg elementer fra arrayet, men når jeg bruker key value sorterer Angular automatisk arrayet. Hvordan beholde rekkefølgen slik arrayet ble laget.
TS-kode:
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-kode (angular material):
<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>
det blir slik (img)
Svar #1
du kan lage en funksjon som returnerer 0 i komponentens ts-fil.
function returnZero() {
return 0
}
Inni malfilen
<td *ngFor="let item of cfValues | keyvalue : returnZero">
Svar #2
Du laget ikke et array, men et objekt. Så det er ingen rekkefølge i utgangspunktet.
Hvis du trenger en rekkefølge, lag et array i stedet for et objekt.
filterListingTypeItems = [
{
key: 'For sale',
value: [
'For sale',
'By Agent',
'By ownre',
'New Construction',
'Foreclosures',
'Coming Soon',
]
},
...
]
