基于react antd的表单显隐控制

发布时间:2023-10-01 12:00

基于react antd的表单显隐控制

显隐方法:

type FormConf = Record;
export const defineFormConfig = (originForm: any, newForm: FormConf) => {
  if (!isArray(originForm) || !isObject(newForm)) { 
    return originForm; 
  };

  originForm.forEach((item: any) => {
    if (item?.type !== 'select' && isArray(item?.lists)) {
      defineFormConfig(item?.lists, newForm);
    }
    const conf = newForm[item?.key];
    if (isObject(conf)) {
      Object.assign(item, conf);
    }
  })
  return originForm;
}

表单中的使用:

export const COL = [
  {
    key: 'id',
    title: 'id',
    visible: true,
  },
  {
    key: 'parameterId',
    title: 'parameterId',
    disabled: true,
  },
]
{( defineFormConfig(COL, { parameterName: { disabled: modalTitle === t('edit') }, }) || [] ).map((item: any) => { const { title, required = false, disabled = false } = item; return ( { title === 'parameterContent' ? : } ) } )}

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号