繁体   English   中英

TypeScript 动态属性过滤 mobx 可观察列表

[英]TypeScript dynamic property filtering mobx observable list

我有一个使用 Typescript 在 React 中构建的日历应用程序。 我目前正在尝试将我所有的日历事件存储在一个可观察的 object 和 select 基于日期的事件数组中

我的活动 object 看起来像这样

events = {
    '17-08-2020': [Array of events],
    '18-08-2020': [{}, {}, {}]
}

这种结构背后的想法是日期键始终是唯一的,因此我可以轻松地将事件推送到该键标识的数组中。

问题发生在 typescript 限制我。 当我访问组件中的商店时,我收到此错误Element implicitly has an 'any' type because expression of type 'string' can't be used to index type

当我尝试使用计算属性来获取商店中的元素时,我得到getter must not have any formal parameters

店铺

@observable events = {}

@computed 
get filteredEvents(key) {
    return this.events[key]
}

只需告诉 typescript 键可以是任何字符串,而不仅仅是您在事件 object 中拥有的预定义字符串。

events: {[key: string]: CalendarEventType[]} = {
  '17-08-2020': [{}, {}, {}],
  '18-08-2020': [{}, {}, {}]
}

对于带有参数的计算值,您可以遵循文档: Computeds with arguments

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM