The main reason is that there is no corresponding array in the tableData data, and what you push in later is not real-time. Just modify the parameters inside after requesting from the back-end interface, and use map to add an empty array to it.
res.data.list.map(item => {
item.expandList = []
})
this.tableData = res.data.list
Then assign the data requested in the expanded row into it
this.tableData.forEach(item => {
if(item.id == row.id){
item.expandList = res.data.detail
}
})