有时候解决问题,只需要换一种思路,就能解决!

1、框架:jeecg低代码框架
2、需求:用到框架的JEditableTable组件,第二个字段需要根据第一个字段值变化而变化

首先设置了列的值
columns: [
{
title: ‘’,
key: ‘indexName’,
width: ‘50%’,
type: FormTypes.select,
options: [ // 下拉选项

        ],
        defaultValue: '',
        placeholder: '请输入${title}',
        validateRules: [
          { required: true, message: '${title}不能为空' },
          {
            unique: true,
            message: '${title}不能重复'
          },
        ]
      },
      {
        title: '',
        key: 'indexValueDetail',
        width: '50%',
        type: FormTypes.popup,
        popupCode: 'getDataValueByDeviceTypeDataId',
        orgFields: 'index_name,index_value',
        destFields: 'indexValueDetail,indexValue',
        **param:‘第一个字段的id值’,**
        onOpenPopup: this.onOpenPopup,
        defaultValue: '',
        placeholder: '请选择${title}',
        validateRules: [{ required: true, message: '${title}不能为空' }]
      },
      ]

方案:给jpopup组件上绑定一个事件绑定onOpenPopup方法,一点击jpopup弹窗的时候调用onOpenPopup方法,设置弹窗的时候,param参数总是为当前行第一个字段值的id,代码如下:

async onOpenPopup(target, rowIndex) {
const { values } = await target.getAll(false) //拿到JEditableTable对象的表单值
const indexName = values[rowIndex].indexName
this.qualitativeList.forEach(item => {
if (item.indexName === indexName) {
this.$set(this.qualitativeIndex.columns[1], ‘param’, { deviceTypeDataId: item.deviceDataId })
}
})
},

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值