使用下列方法来刷新,重新与服务端交互。
this.doRefresh()
使用下列方法来刷新,重新与服务端交互。
this.doRefresh()
`
const gridData = this.getD2Crud().d2CrudData
if (gridData) {
request({
url: deviceinfoUrl,
method: 'post',
params: { id: id }
}).then(res => {
if (res.code === 2000) {
res.id = id
const rowData = res.data
rowData.id = id
gridData.forEach((item, index, array) => {
if (item.id === id) {
for (const v1 in rowData) {
item[v1] = rowData[v1]
}
return false
}
})
}
return res
})
}
`
其中 const gridData = this.getD2Crud().d2CrudData 是获取要修改的表格里的数据
gridData.forEach((item, index, array) => {
if (item.id === id) {
for (const v1 in rowData) {
item[v1] = rowData[v1]
}
return false
}
})
上面这个是对行数值进行赋值。
假设表格中有两列,一列是id,一列是value.
id value
1001 x1
1002 x2
mounted () {
window.setIntervalFn001 = (listdata) => {
this.mysetIntervalFn(listdata)
}
window.getDeviceInfoFn001 = (id) => {
this.getDeviceInfo(id)
}
window.getImgFn001 = (id) => {
this.getImg(id)
}
}
mysetIntervalFn (listdata) {
if (!listdata || listdata.length === 0) {
console.log('没有查询到设备', listdata)
return
}
if (listdata && listdata.length >= 1) {
console.log('到达', listdata)
listdata.forEach((item) => {
// setInterval(function () { this.getImgFn001(item.id) }, 1000)
setInterval(function () {
this.getDeviceInfoFn001(item.id)
}, 1000)
})
}
}
说明: 在mounted 里将本地方法暴漏出去。
问 this.$emit('refresh')刷新表格为什么不起作用呢?