typescript - 打字稿通过括号符号访问类属性
问题描述
我试图理解为什么打字稿抱怨我试图通过括号表示法访问类属性。我在下面有我的课:
export class Row implements Record<string, any> {
gridArea: GridArea;
index: number;
_isHeader: boolean;
_isSelectable: boolean;
cells: Cell[];
top: number;
...
}
后来我正在创建这个类的一个实例,并尝试根据键值对的对象在它上面设置属性:
addRow(attrs: any) {
const row = new Row(this.mainGridArea, this.rows.length);
for (let key in attrs) {
const value = attrs[key];
row[key] = value;
}
...
}
但这条线:
row[key] = value;
编译失败,出现以下错误:
元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引“行”类型。在“行”类型上找不到具有“字符串”类型参数的索引签名。
我以前没有使用过 Records,但是根据其他 stackoverflow 问题/答案得出了使用它的结论,但是我仍然遇到问题。任何帮助将非常感激。
解决方案
推荐阅读
- docker - Elasticsearch 保护连接
- reactjs - 如何使用打字稿在Hoc中为html元素使用Ref
- python - 从字符串列表中提取第一个选项卡之前的所有文本
- php - Prestashop 1.7:“自定义”特征值和非自定义特征值之间的技术区别?
- java - 使用 Spring Boot 按部分发送电子邮件(带分页)?
- google-bigquery - 更新计划查询配置:删除目标数据集
- kubernetes - 使用 YAML 语法从文件创建 ConfigMap 的正确方法是什么?
- symfony - EasyAdmin 3 删除链接
- tooltip - 在 Tableau 中,是否可以自定义链接的工具提示?
- mysql - MySQL - 每年从 UNION 计算 SUM(field)