ts 类型推断疑惑?-灵析社区

半寸时光爱思考

function setDictionary( data: T, label: keyof T, dictionaryOptions: { [key in keyof T]: { [key: string | number]: any }[] } ) { const options = dictionaryOptions[label]; } ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/e720227068a227793856ab57bf57e44f.png) `options` 怎么会是这个类型?应当是`{ [key: string | number]: any }[]` 才对啊。 是哪里出了问题?如何解决呢? ` "vue-tsc": "^1.8.27"`

阅读量:214

点赞量:0

问AI
看了下如果这里是一个精确类型就能推导出来 type Data = { name: string, age: string } function setDictionary( data: Data, label: keyof Data, dictionaryOptions: { [key in keyof Data]: { [key: string | number]: any }[] } ) { const options = dictionaryOptions[label]; } "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/07a473c9d84e660e97adfa67c26605b7.png) 但如果是泛型就不行,不知道是刻意没有处理这种情况还是 vscode 插件的问题