开发者社区> 问答> 正文

我的提交中间表什么不能正常更新?

设计了一个作业提交表单,和一个提交中间表单。 目的是作业提交后,中间表会去记录每个班级的提交人数 想法是作业提交表单提交后,会去检查中间表单中是否有相关数据,有的话就更新表单,使提交人数+1,没有的话就新建表单,但是在作业提交表提交后的函数中书写该js代码为什么不能正常更新中间表? 作业提交表单中的js: image.png

更新表单的远程数据源配置: image.png 提交作业表单后的控制台显示: image.png 未能正常更新表单,已提交人数依然为0: image.png 已提交人数的唯一标识: image.png

展开
收起
游客2nwtm3fqsnntm 2023-03-02 12:06:05 1006 4
来自:钉钉宜搭
4 条回答
写回答
取消 提交回答
  • 若回答对您有帮助,记得点下赞同哦 ~

    1、不要用 afterSubmit,用beforeSubmit。 2、请求是异步的,需要用Promise,让页面等你请求处理完成再执行后续逻辑。 3、代码示例:

    export function beforeSubmit({ formDataMap }) {
    return new Promise((resolve, reject) => {
      this.dataSourceMap.dataSourceName.load(params).then(res => {
        // 业务逻辑继续写
        resolve(true); // 允许提交
      }).catch(error => {
        // 相关错误提示一下
        resolve(false); // 阻断提交
      });
    });
    }
    
    2023-03-02 17:54:29
    赞同 1 展开评论 打赏
  • 月移花影,暗香浮动

    因为在作业提交表提交后,js代码只能在客户端执行,而不是在服务器端执行,因此无法更新中间表。

    2023-03-02 14:35:45
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    创建好表单需要调用新增表单实例接口,通过调用接口获取表单的formInstId等相关数据。 在「需要统计的表单」中添加远程数据源,在 编辑数据源 对话框时需要 请求地址,需要将 编辑数据源 里面的 自动加载按钮关闭(关闭状态为灰色),请求方法为 GET。 另外还要调用更新表单中指定组件值接口,添加远程数据源,请求地址,需要将 编辑数据源 里面的 自动加载按钮关闭(关闭状态为灰色),请求方法为 POST。

    绑定生命周期函数 在右侧 属性栏 中 选择 绑定动作 添加新动作名称为didMount。 点击 确定即可。

    formUuid为 统计数量中间表 的formUuid(根据需求可自定义更换表单formUuid)。2此处 textField_kvhrzijz 为统计数量中间表中对应的"自定义页面名称"组件唯一标识符(根据需求可自定义更换组件唯一标识)。

    image.png

    另外你想有更新表单,使提交人数+1的话还需要设置每次加载数据源次数增加一次的代码:

    image.png

    以上仅供参考。

    2023-03-02 13:38:05
    赞同 1 展开评论 打赏
  • 只懂一点点,相互成就进步,进Q裙:758755691

    表单提交前这个代码块不能写js代码,要写就return false 然后js-api去检索中间表和新增本表单数据

    2023-03-02 12:38:32
    赞同 展开评论 打赏
问答分类:
问答地址:
关联地址:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载