antd - Antd design: Form : 如何使用 form.setFieldsValue 改变数据?
问题描述
我的问题是如何正确使用 form.setFieldsValue
函数来操作表单数据?
我遇到了这个问题,我必须从数据中获取图像 url 才能显示为 Avatar。(Antd 没有 Image 组件的样子)
所以当我打开模态图像时应该显示。我正在尝试如图所示设置字段值,但它显示的灰色图像不是真实图像。
https://ant.design/components/form/
我目前正在这样做:
const showModal = (record) => {
console.log('record', record);
setPropertyKey(record.id)
//form.setFieldsValue(record);
form.setFieldsValue({
...record,
propertyImage: 'https://quadreal.findspace.com/images/preview_images/building_hero_crop_commerce-court-west-commerce-court.jpg'
});
setVisible(true);
};
<Modal
centered
title={modalTitle}
visible={visible}
onOk={handleOk}
onCancel={handleCancel}
confirmLoading={confirmLoading}>
<Form
form={form}
labelCol={{ span: 8 }}
wrapperCol={{ span: 14 }}
layout="horizontal"
initialValues={{ size: 'middle' }}
size={'middle'}
onFinish={onFinish}>
<Form.Item label="Property Image" name="propertyImage">
<Avatar shape="square" size={164}/>
</Form.Item>
</Form>
</Modal>
解决方案
你在这里需要表单组件吗?
您可以使用以下简单代码显示图像:
<Avatar
shape="square"
size={164}
src="https://quadreal.findspace.com/images/preview_images/building_hero_crop_commerce-court-west-commerce-court.jpg"
/>
如果您需要表格使用valuePropName
道具Form.Item
:
<Form.Item label="Property Image" name="propertyImage" valuePropName="src">
<Avatar shape="square" size={164}/>
</Form.Item>
推荐阅读
- postgresql - PostgreSQL 使用 json 按列过滤
- linux - /dev/disk 中的不可变名称
- angular - 在Angular 7中订阅相同的服务调用而不多次调用服务
- sql - postgresql 得到最接近的timestemp结果
- r - 根据条件替换为列中的多个元素
- c# - 如何在包装 C# 库的 VBA 类中实现 NewEnum
- reactjs - 我收到一个错误:pathspec 'branch-name' 与 git 已知的任何文件都不匹配
- python - 如何在 Qt (PyQt) 中正确设计多窗口应用程序?
- excel - 在创建 excel 文件的任务计划程序窗口上运行脚本
- javascript - Testcafe 抛出错误 invalid arg type