- 23
- 0
现在的是input中会根据事件change去不停请求数据,要改为点击提交按钮再去请求数据,我把trigger中的change换成了blur,点击提交,如果信息重复能正确提示,但是如果信息是不重复的,需要点击两次提交才能正确的进行后面的操作(分析原因:第一次点击提交的时候,是让input失去焦点),不符合需求,卡了好久不知道怎么改。
<el-dialog title="提交并保存为素材" width="30%" :visible.sync="dialog.dialogFormVisible">
<el-form :model="dialog" ref="dialogForm" size="small" :rules="dialog.rules" @submit.native.prevent>
<el-form-item label="页面素材名称" prop="name">
<el-input :maxlength="20" v-model="dialog.name" auto-complete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="submitMater">提交</el-button>
<el-button size="small" @click="dialog.dialogFormVisible = false">取消</el-button>
</div>
</el-dialog>
data() {
let sendFlag = 0;
let checkDialogForm = (rule, value, callback) => {
if (!value) {
return callback(new Error('素材名称不能为空'));
}
this.materialname = value;
let postData = Object.assign({}, this.postUser, {
'materialname': value
});
if (sendFlag === 0) {
sendFlag = 1;
checkModularNameApi(postData)
.then((res) => {
sendFlag = 0;
if (res.data.result === 0) {
callback();
} else {
callback(new Error(res.data.message));
}
})
.catch(() => {
sendFlag = 0;
})
}
};
return {
noticeFlag: false,
showNotice: false,
txtIndex: 0,
picIndex: 0,
btnIndex: 0,
dialog: {
dialogFormVisible: false,
dialogCancelVisible: false,
name: '',
rules: {
name: [
{max: 20, message: '长度在20个字符以内', trigger: 'blur'},
{message: '不允许输入特殊字符(\'"\\)', trigger: 'blur', pattern: /^[^'"\\]+$/g},
{validator: checkDialogForm, trigger: 'blur'}
]
}
},
提交的函数
submitMater() {
checkDialogForm();
this.$refs['dialogForm'].validate((valid) => {
if (valid) {
this.dialog.dialogFormVisible = false;
//提交并保存为素材
let postData = Object.assign({}, this.postUser, {
"templateid": this.templateid,
'materialname': this.materialname,
'pvendorid': this.product.pvendorid,
'prstypeid': this.product.prstypeid,
'userid': this.product.userid,
'modules': this.list,
'id': this.submitid,
'wxShare': this.wxShare,
'savetime': this.savetime,
'ccodecheckpop': this.ccodecheckpop,
'wxAppCheckResult': this.checkresultlist
});
if (this.submitstatus === 'detail') {
updateMaterialApi(postData)
.then((res) => {
if (res.data.result === 0) {
this.$router.push(`/productlist/${this.product.pvendorid}`)
} else {
this.$message({
message: res.data.message,
type: 'error'
});
}
})
.catch((err) => {
this.$message({
message: err,
type: 'error'
});
});
} else {
addMaterialApi(postData)
.then((res) => {
if (res.data.result === 0) {
this.$router.push(`/productlist/${this.product.pvendorid}`)
} else {
this.$message({
message: res.data.message,
type: 'error'
});
}
})
.catch((err) => {
this.$message({
message: err,
type: 'error'
});
});
}
} else {
return false;
}
});
}
求帮助QAQ
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
