1、如果你使用vscode開(kāi)發(fā)ts+vue項(xiàng)目的話,避免不了會(huì)安裝Velur或者Volar。在項(xiàng)目中經(jīng)常會(huì)ESlint檢查ts中的類型,對(duì)于無(wú)法推斷出的類型會(huì)報(bào)錯(cuò),雖然不影響功能,但看著難受
例如:

image.png
解決 1

image.png
(<any>checkArr.value[i]).supervisionWorkId
原因
用戶自定義的類型保護(hù)
https://www.tslang.cn/docs/handbook/advanced-types.html
解決 2
定義一個(gè)接口 提前聲明好這個(gè)數(shù)組有哪些字段
例如:

image.png
import { City} from "./type"
// 下拉框顯示城市的數(shù)據(jù)
let options = ref<City[]>([])
如果直接這樣聲明數(shù)組
// 下拉框顯示城市的數(shù)據(jù)
let options = ref([])
則在賦值的時(shí)候類型推斷失敗,會(huì)提示報(bào)錯(cuò)

image.png
當(dāng)然也可使用解決1 來(lái)臨時(shí)解決

image.png

image.png
解決 3
懶人大法
// 下拉框顯示城市的數(shù)據(jù)
let options = ref<any[]>([])
*** 解決 4 ***
// @ts-ignore
params.timeStatus=serchForm.timeStatus