码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(三)


    8、原先formdesigner对上传的文件不能回显,修改如下:

    import { isAttr,jsonClone } from '../utils';
    import childrenItem from './slot/index';
    import {remoteData} from './mixin';
    import Vue from 'vue'
    import { ACCESS_TOKEN } from "@/store/mutation-types"

    function vModel(self, dataObject) {
      dataObject.props.value=self.value;
      dataObject.on.input = val => {
        self.$emit('input', val)
      }
      //判断是否为上传组件
      if(self.conf.compType === 'upload'){
        // add by nbacheng 2022-09-09
        const token = Vue.ls.get(ACCESS_TOKEN);
        dataObject.attrs['headers'] = {"X-Access-Token":token};
        const filevalue = JSON.parse(dataObject.props.value);
        dataObject.props['file-list'] = filevalue;
      }  
    }

    export default {
      render(h) {
        let dataObject = {
          attrs: {},
          props: {},
          on: {},
          style: {}
        }

        //远程获取数据
        this.getRemoteData();
        const confClone = jsonClone(this.conf);
        const children = childrenItem(h,confClone);   
        // 如果需要token,可以设置
        const token = Vue.ls.get(ACCESS_TOKEN);
        confClone['headers'] = {"X-Access-Token":token};
        Object.keys(confClone).forEach(key => {
          const val = confClone[key]
          if (dataObject[key]) {
            dataObject[key] = val
          } else if(key ==='width'){
            dataObject.style= 'width:'+val+'%';
          } else if (!isAttr(key)) {
            dataObject.props[key] = val
          } else {
            dataObject.attrs[key] = val
          }
        })
        /*调整赋值模式,规避cascader组件赋值props会出现覆盖预制参数的bug */
        vModel(this, dataObject);
        return h(confClone.ele, dataObject, children)
      },
      props: ['conf','value'],
      mixins:[remoteData]
    }
     

  • 相关阅读:
    C# Convert和BitConverter类学习
    JVM学习——类的加载器以及类的加载过程
    Flink系列之Flink中RestartStrategy重启策略和FailoverStrategy故障转移策略
    Kotlin原理+协程基本使用
    【BOOST C++ 16 语言扩展】(1) Boost.Coroutine
    iptables和firewalld基础
    计算机毕业设计Java银枫家政服务管理系统(系统+程序+mysql数据库+Lw文档)
    【SpringMVC】RESTFul风格设计和实战 第三期
    TypeScript 高级类型
    [element-ui] el-dialog和v-viewer的层级问题
  • 原文地址:https://blog.csdn.net/qq_40032778/article/details/126782254
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号