(property) years?: string[] | undefined
类型“YearDataResponse”缺少类型“string[]”的以下属性: length, pop, push, concat 及其他 28 项。ts(2740)
matches.ts(7, 7): 所需类型来自属性 "years",在此处的 "Partial<{ years: string[]; selectedYear: null; }> & Record<string, any>" 类型上声明该属性
interface YearDataResponse {
data: string[];
}
Page({
data: {
years: [] as string[],
selectedYear: null,
},
onLoad() {
this.fetchYears();
},
fetchYears() {
wx.request<YearDataResponse>({
url: 'https://www.huasai.games/wxapp/match_year.php',
success: (res) => {
if (res.statusCode === 200) {
// 这里给res.data一个类型断言,确保它是string[]类型
this.setData({
years: res.data
});
} else {
console.error('Failed to fetch years:', res);
}
},
fail: (err) => {
console.error('Request failed:', err);
},
});
},
onYearChange(e: any) {
const newSelectedYear = typeof e.detail.value === 'number' ? e.detail.value : null;
this.setData({ selectedYear: newSelectedYear });
},
onReady() {},
onShow() {},
onHide() {},
onUnload() {},
onPullDownRefresh() {},
onReachBottom() {},
onShareAppMessage() {},
});