角度:将一个网站上的单个值映射到另一个网站上的多个值

时间:2019-06-06 14:20:20

标签: angular

背景:我有一个Angular网站。在某些条件下,某些值仅应显示在数组中(用于下拉菜单)。由于性别差异,西班牙语站点有2个值,而英语站点只有1个值。我无法使其执行以下操作:

用例/目标: 用户转到西班牙语站点,然后选择“男性配偶”(“ Esposo”)。如果他们切换回英语站点,我希望它显示“配偶”。但是,当它在数据库中查找该用户的匹配记录时,将找到映射到Esposo的Male Spouse。

注意:value是进入数据库的内容,viewValue是显示给用户的内容)

英语站点 [{value:'Spouse',viewValue:'Spouse'}]

西班牙网站: [{值:“男性配偶”,viewValue:“ Esposo”},{值:“女性配偶”,viewValue:“男性配偶”}]

我尝试过的事情:我考虑过要向数据库添加一个额外的列,也许是一个“键”,它可以映射到“表亲”,而性别则可以是“ M”,“ F”如果是西班牙文网站,则为NULL(如果是英语网站)。但是,在HTML中,似乎从下拉列表中只能选择一个值。我还查看了业务逻辑。如果可以的话,有人可以指出我的正确方向吗?

TS

if (this.localeId == "es") { this.addRelationArrayElements(); }
addRelationArrayElements() {
 this.relations.push({ value: 'CousinFemale', viewValue: this.cousinFemale },  { value: 'CousinMale', viewValue: this.cousinMale } );
}

HTML

<mat-form-field>
    <mat-select placeholder="Relationship" formControlName="relationship" required>
        <mat-option *ngFor="let rel of relations" [value]="rel.value" (click)="selectRelationship(rel.value)">
            {{ rel.viewValue }}
        </mat-option>
    </mat-select>
</mat-form-field>

0 个答案:

没有答案