async function selectCompanyCode() { let temp = await store.dispatch('IPSMoudle/GetCompanyCode') event.CompanyCodeOptions = temp event.originalCompanyCode = temp } void selectCompanyCode() function filterCompanyCode(val, update) { update(() => { const needle = val.toLowerCase() event.CompanyCodeOptions = event.originalCompanyCode.filter(v => v.toLowerCase().indexOf(needle) > -1) }) } Property 'toLowerCase' does not exist on type 'never'.Vetur(2339) 类型“never”上不存在属性“toLowerCase”。ts(2339)
时间: 2024-04-14 17:30:10 浏览: 190
详解Node.js中的Async和Await函数
这个错误是由于 TypeScript 编译器无法推断 `event.originalCompanyCode` 的类型而导致的。编译器将其类型推断为 `never`,因此无法调用 `toLowerCase` 方法。
要解决这个问题,你可以尝试明确指定 `event.originalCompanyCode` 的类型,或者在适当的位置进行类型检查。
下面是一个示例代码,展示了如何解决这个问题:
```typescript
async function selectCompanyCode() {
let temp = await store.dispatch('IPSMoudle/GetCompanyCode')
event.CompanyCodeOptions = temp
event.originalCompanyCode = temp as string[] // 假设 originalCompanyCode 是一个字符串数组
}
void selectCompanyCode()
function filterCompanyCode(val, update) {
update(() => {
const needle = val.toLowerCase()
event.CompanyCodeOptions = event.originalCompanyCode.filter(v => (v as string).toLowerCase().indexOf(needle) > -1)
})
}
```
在上面的代码中,我们使用类型断言 `as string[]` 将 `temp` 明确指定为字符串数组类型。这样编译器就能正确推断 `event.originalCompanyCode` 的类型,并且可以调用 `toLowerCase` 方法。
通过这种方式,你可以解决 TypeScript 编译器报错的问题。
希望这个解决方案对你有所帮助!如果还有其他问题,请随时提问。
阅读全文