admin管理员组文章数量:1794759
An index signature parameter type cannot be a literal type or generic type. Consider using a mapped
An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead 写接口类型时,希望有两个类型的键值是联合类型动态需要也需要约束起来,比如: interface ResDataType<T extends string> { // T需要增加 extends string 避免传入其他类型 titleType: T; // titleData: { [key: T]: string }; // 这时候key会报出错误 titleData: { [key in T]: string }; // 正确写法,必须在T上增加继承 string } const res: ResDataType<'edit' | 'new'> = { titleType: 'new', // edit | new titleData: { edit: '编辑', new: '添加', }, } console.log(res.titleData[res.titleType]);
希望能帮到大家,我也是参考
本文标签: parametersignatureINDEXtypemapped
版权声明:本文标题:An index signature parameter type cannot be a literal type or generic type. Consider using a mapped 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686554335a81247.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论