typescript 将map函数中的属性添加到对象时出现问题[已关闭]

u3r8eeie  于 2022-12-05  发布在  TypeScript
关注(0)|答案(1)|浏览(173)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
1小时前关闭。
Improve this question
请查看此stackblitz code并让我知道为什么ngOninit()函数中的user.state属性有错误。

ngOnInit(){
  this.users = this.users.map((user) => {
              `**user.state = 'orig';**`
              return user;
          });
  }

我已经在我安装的可视化代码版本中运行了这段代码,但是这里也发生了同样的错误。

wwwo4jvm

wwwo4jvm1#

根据你的stackblitz例子,我们可以看到你没有为用户数组提供一个类型。所以Typescript语言试图从数组中获取一些类型。由于你在这个数组中的对象不能识别state,所以它不存在于typescript中,不能被应用。
方案一:
将未设置状态属性添加到对象

{ 
      name: 'Vincent Vega',
      occupation: 'Sceptic',
      membership: 'Admin',
      status: 'Active',
      created_at: '1994-11-03',
      url:'https://www.coditty.com/code/angular-animation-how-to-animate-single-item-from-ngfor-loop?utm_source=Stackblitz&utm_medium=Code&utm_campaign=Animation_List_and_Items',
      state: null
    }

备选方案二:
为数组使用类型并使状态为可选

interface User {
  name: string;
  occupation: string;
  membership: string;
  status: string;
  created_at: string;
  url: string;
  state?: string;
}

users: User[] = []

相关问题