avue.js在使用的过程中,遇到了一个问题,对表单进行增删改查的时候,一直报错:done is not a function。起初一直觉得是avue框架自身的问题,第一次遇到的时候糊里糊涂的给解决了,直到第二次遇到的时候,怎么改都不行,打印了一下done,输出的是一个纯数字,项目中别的地方用到过,成功了,打印台输出的是一个函数,这就纳闷了。
rowUpdatePatches(row,done) {
// console.log(done)
const object = {}
object.name = row.name
object.description = row.description
object.version = row.version
object.key = row.key
// console.log(object)
updateChannelPatches(this.row.id,row.id,object).then((res) => {
if (res.status == 200) {
this.$message({
type: "success",
message: "操作成功!"
});
}
done()
}, error => {
loading();
// done();
this.$message.error('patch is used by 1 devices, cant be updated!')
// console.log(error);
});
},
后来突然看到文档中人家的传参顺序是row,index,done,loading
这才知道是咋回事,done的传参位置是第三位,我直接顶替了index,处理的时候done已经被当成了index,只是一个纯数字而已,报错正常,这是一个很细节的问题
。
rowUpdatePatches(row,index,done) {
// console.log(done)
const object = {}
object.name = row.name
object.description = row.description
object.version = row.version
object.key = row.key
// console.log(object)
updateChannelPatches(this.row.id,row.id,object).then((res) => {
if (res.status == 200) {
this.$message({
type: "success",
message: "操作成功!"
});
}
done()
}, error => {
loading();
// done();
this.$message.error('patch is used by 1 devices, cant be updated!')
// console.log(error);
});
},```