一、该问题的重现步骤是什么?
1. avue定义按钮:如:
@row-update="rowUpdate"
2. 自定义按钮:如:
<template slot-scope="scope" slot="menuForm"> <el-button type="primary" size="mini" v-if="permission.orderstart_edit" plain @click.stop="handleSubmitOrder(done)">提交订单 </el-button> </template>
3.
二、你期待的结果是什么?实际看到的又是什么?
1、自定义按钮,如何使用 loading,done,默认按钮可以直接使用,请问如何调用
2、自定义按钮,执行的时候,rules不校验,默认按钮可以直接校验,请问如何调用
3、参考代码:
handleSubmitOrder(done) { //console.log(this); //this.$refs.crud.validate(this.form); let _this99 = this; this.$refs.crud.validate(function (valid) { if (valid) { _this99.updateToOrder(done); _this99.loading = false; done(); } else { _this99.$message.warning("请检查填写内容"); return; } }); },
updateToOrder(done){ this.$confirm("确定提交,销售预算单变更为销售合同?", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }).then(() => { this.form.orderType = 1; this.form.orderStatus = 2; this.form.sellStatus = 2; this.form.purchasechannels = 1; this.form.purchaseLocation = 1; this.form.newDate = dateFormat(new Date()); const vo = { order: this.form, orderDetailList: this.orderSubData }; saveorupdateVO(vo).then(res => { const result = res.data; if (result.success) { this.onLoad(this.page); this.$refs.crud.$refs.dialogForm.closeDialog(); this.$message.success(result.msg); } else { this.$message.error(result.msg); this.loading = false; } }) }) .catch(() => { this.$message({ type: "info", message: "已取消退出" }); //this.loading = false; console.log(this) //this.hide() done(); return; }) },
4、目前有仍有一个问题,点击提交订单的弹出框,有一个取消按钮,点击后会转圈
如图:
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
avue2.6.17 ,商业最高版本
四、请提供详细的错误堆栈信息,这很重要。
vue.js:634 [Vue warn]: Property or method "done" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.
found in
---> <Anonymous>
<Index> at src/page/index/index.vue
<App> at src/App.vue
<Root>
orderstart.vue?f507:1776 Uncaught (in promise) TypeError: done is not a function
at eval (orderstart.vue?f507:1777) at r (avue.min.js:7) at avue.min.js:7
五、若有更多详细信息,请在下面提供。
-
讨论(1)
-
楼主是否解决了此问题?
讨论(0)
-
参照着不关窗连续增加的示例,来实现,在函数里先改一下标志变量,再调用原生函数,在原生函数内,根据标识增加自定义的代码。
handleNext(){
this.flag=true;
this.$refs.crud.rowSave()
},
rowSave(form,done,loading){
this.data.push(this.deepClone(this.form))
this.$message.success(JSON.stringify(this.form))
if(this.flag){
this.flag=false;
loading()
this.form.name="";
this.form.sex="";
return
}
done()
},
讨论(0)
官方新品
- 热议问题
-
bladexBoot4.5,按照开发手册配置多数据源报错
1
-
初次登录之后如何关联用户如何重新刷新
1
-
物联网历史数据接口时间数组传参数问题
1
-
自定义弹出框,多次弹出时弹出框内残留上一次的下拉框数据
2
-
Token增加器的使用为空问题
1
-
Invalid bound statement
1
-
生产环境启动成功后服务自动停止
1
-
只要系统抛了异常,系统就会出现跨域的提示
1
-
skywalking的log页块下没有日志数据
1
-
rider中 使用127.0.0.1访问正常,用域名访问就跨域,一般是哪里设置不对
1
扫一扫访问 Blade技术社区 移动端