Form表单实现全局的变量,一个单元格变化其余单元格也跟着变化

 如图所示,这个被红色框圈起来的就是需要被设置为全局变量的。当切换到其他页面时这个条件依旧存在。

 在global.js里增加一句话作为全局变量。

window.companycode = '';

在untils.js文件里增加一个函数

export function changeCompanyCode(data) {
  let searchdata = cloneDeep(data);
//data作为实参传进来先给他进行一个遍历看看是否有companyCode,意思就是说看那个单元格里面是否有选择
//公司代码,如果选择了,有这个companyCode,bool为false
  let bool = searchdata.every(item => {
    return item.field !== 'companyCode';
  });
//如果这个表单里面有数据,即companycode.length>0,且没有公司代码,即bool为true
//那么就设置这个companyCode为空
  if (companycode.length > 0 && bool == true) {
    searchdata.push({
      field: 'companyCode',
      operator: '=',
      value: companycode,
      andOr: 'And',
    });
  }
//这个判断的主要功能就是把有公司代码的值赋值给companyCode
  if (!bool) {
    searchdata.map(item => {
      if (item.field == 'companyCode') {
        companycode = item.value;
      }
    });
  }

然后回到需要引用的jsx页面,引用这个函数

import { changeCompanyCode } from '@/utils/utils';

 这个clauses其实就是表单里面的数据,作为实参传过去。

clauses = changeCompanyCode(clauses);

 直接给表单里面的参数赋值,值就是companyCode

form.setFieldsValue({ 'companyCode_=': companycode });

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值