首页 > 解决方案 > 如何以角度重命名对象键

问题描述

我得到这样的对象:

在此处输入图像描述

在网页上看起来像这样:

在此处输入图像描述

我想删除“_”,它应该是这样的:

Is Supplier? (toggle)   Is Customer?  (toggle)   Is Cashbook AC?  (toggle) ,etc..

.ts 代码

getCompanyConfig() {
        this.companiesService.companyConfig({page: -1}).subscribe(data => {
            this.companyToggleArr = data.items;
            console.log(this.companyToggleArr)           
        });
    }

.html

<mat-grid-list cols="5" rowHeight="100px">
            <mat-grid-tile class="ml-1 mr-1" *ngFor="let companyToggle of companyToggleArr; let i = index">
                <div fxLayout="row" fxLayoutAlign="start start">
                    <mat-label style="margin-right: 20px">{{companyToggle.name}}</mat-label>
                    <mat-slide-toggle [(ngModel)]="companyToggle.name" name="{{'name' + i}}"></mat-slide-toggle>
                </div>
            </mat-grid-tile>
        </mat-grid-list>

标签: angulartypescriptangular-materialangular6angular8

解决方案


使用标签创建一个辅助数组

 labels:string[]
 this.companiesService.companyConfig({page: -1}).subscribe(data => {
        this.companyToggleArr = data.items;
        this.labels=data.items.map(x=>"Is "+x.name.split('_')[1]
    });

并使用

 <mat-label style="margin-right: 20px">{{labels[i]}}</mat-label>

推荐阅读