html表单不允许修改,[问题]如何在表单里定义(form)仅仅可读,不可修改的列?

经过我不懈努力的寻找及测试,现在有一个解决方案可以解决type='form'表单里设置只读字段。只需要覆写columns中的renderFormItem字段即可。下面以设置用户名只读为例:

pro-table版本:"@ant-design/pro-table": "^2.9.16"

columns配置

import { useRef, useState } from 'react';

...

const [updateFormValues, setUpdateFormValues] = useState({});

const columns = [

{

title: '用户名',

dataIndex: 'username',

// 重点在下面代码

renderFormItem: (_, { type, defaultRender, ...rest }, form) => {

if (type === 'form') {

// 返回新的组件

return {updateFormValues.username}

}

return defaultRender(_);

}

},

]

ProTable配置

type="form"

form={{

initialValues: updateFormValues,

}}

rowKey="id"

columns={columns}

rowSelection={{}}

/>

效果图:

0c14dea0f2348fce0aa33966f0869c5d.png

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>