角度绑定列表到另一个具有不同属性名称的列表

现实主义者

我正在按服务获取对象列表。这些列表在result.data中。但是result.data中的对象具有属性“ Text”和“ Value”。但我想将列表绑定到具有属性“标签”和“值”的数组。在C#中,我们可以通过Select做到这一点。所以我在下面像c#这样写。但是我该如何在角度为6的打字稿中做呢?

this.serviceHelper.getStudentTypes().subscribe(
  result => {
    this.studentTypes = result.data
      .Select(p => new SelectItem {//???
      label=p.Text,                //???
      value=p.Value                //???
    });
  }
);

selectItem.ts

export interface SelectItem {
    label?: string;
    value: any;
    styleClass?: string;
    icon?: string;
    title?: string;
    disabled?: boolean;
}
提香·切尔尼科娃·德拉戈米尔

您几乎可以在JS / TS中进行相同的操作,只需使用map,以及创建JS对象文字的corect方法:

this.serviceHelper.getStudentTypes().subscribe(
  result => {
    this.studentTypes = result.data
      .map(p => ({
          label:p.Text,                
          value:p.Value                
    }));
  }
);

上面的代码假定getStudentTypes返回Observable<{ Text: string, Value: string }[]>或等效值。

编辑

由于希望新数组的类型为SelectItem[]您可以在map需要时显式指定它(这有助于某些错误的错误消息),但这不是必需的。如果this.studentTypes类型为asSelectItem[]且返回的map兼容于,SelectItem那么所有功能都将按预期工作(由于SelectItem是接口而不是类,我们可以将任何兼容的对象常量分配给该类型的变量,这就是结构类型在typescript中的工作方式)

该显map式返回的显式版本为SelectItem[]

this.serviceHelper.getStudentTypes().subscribe(
  result => {
    this.studentTypes = result.data
      .map<SelectItem>(p => ({
          label:p.Text,                
          value:p.Value                
    }));
  }
); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将列表转换为具有新属性名称的另一个新列表

JavaFX:将列表绑定到另一个列表的元素的成员属性

根据存在于另一个具有不同属性的数组中的存在来过滤数组

如何将值从一个列表复制到另一个具有不同对象的列表

将具有多个属性的对象映射到另一个对象,然后收集到列表

JAVA-如何将一个对象的属性复制到另一个具有相同属性的对象?

从具有相同属性和内容的指令中调用另一个指令

具有相同属性IDUris值的另一个对象已存在

如何找到与另一个具有相同属性的那些

将HashMap列表检索到另一个列表中,一个键具有多个值

创建一个NSSet数组,该数组具有另一个NSArray中存在的对象的不同属性的值

无法从具有列表视图的片段导航到另一个片段

Linq-获取具有列表属性的对象,该属性在另一个列表中不包含值

Flutter 将列表数据添加到具有特定名称的另一个列表中

复杂的Linq查询以选择具有另一个包含值的列表属性的列表项

从具有另一个对象数组列表属性的对象数组列表中获取值

在一个列表中查找具有与另一个对象列表中的属性相匹配的属性的所有对象

合并两个具有Employee不同属性的数组列表以创建一个新的数组列表,将两个数组列表的属性组合在一起

与另一个有效的项目具有相同属性的项目上的 LNK2019 错误

Tkinter 将列表框信息绑定到另一个没有选择底部的修补程序窗口

将每个列表项复制到另一个列表项属性

搜索具有该项目的另一个属性值的列表项目属性

如何创建具有与另一个系统提供给我的视图相同属性的表?

获取列表中具有另一个列表中的一个属性的所有项目的计数

将列表排序到另一个列表

序言:添加以列出具有特定属性的另一个列表的所有成员

Prolog,我想从列表和所有其他列表中获取 2 个不同的值到另一个列表

JAXB将引用列表绑定到另一个元素

根据具有相同项目但顺序不同的另一个列表对具有重复项的列表进行排序