react-admin - 选项卡形式的动态输入字段
问题描述
我正在使用来自https://marmelab.com的 react-admin 模块并使用了他们的“编辑”组件。所以“编辑”组件正在调用一个后端 api,它将获取记录数据。我的 JSON 数据是:
{
id: '1',
szName: 'Very First',
iCNBPrice: '60',
iBEPrice: '215',
iEmailPrice: '555',
iMaxConvert: '0',
iConvertFee: '0',
iServiceCharge: '0',
iInvoiceEOM: [ 1 ],
iInvoiceDate: [ 1 ],
iInvoicePropertySold: [ 0 ],
iInvoiceRecurring: [ 0 ],
iDiscountAfterMagazine: '0',
iMagazineDiscountPeriod: '0',
iActive: '2',
iDeleted: '0',
dtDeleted: '0000-00-00 00:00:00',
iDeletedBy: '0',
iCreatedBy: '1',
dtCreated: '2019-08-07 00:00:00',
iUpdatedBy: '99',
dtUpdated: '2019-08-21 17:35:34',
price_product: [
{ szType: 'Tilstandsrapport', iPrice: '100' },
{ szType: 'Elinstallationsrapport', iPrice: '20' },
{ szType: 'Energimærket', iPrice: '30' },
{ szType: 'Kladde', iPrice: '40' },
{ szType: 'Inspiire', iPrice: '50' }
],
Nemforsikring: '5',
FRIDA: '5',
'Willis/DBF': '5'
}
我想price_product
使用“SimpleFormIterator”组件创建字段,但无法获得正确的源名称和字段标签?
<ArrayInput source="price_product" label="" className="price_feild">
<SimpleFormIterator disableRemove disableAdd >
<NumberInput source={source.szType} validate={required()} style={{ display: 'inline', float: 'left', marginLeft: '20px' }}/>
</SimpleFormIterator>
</ArrayInput>
解决方案
不确定如何向 NumberInput 添加动态标签,但另一种解决方案是添加额外的(禁用的)输入并以这种方式显示类型。
<ArrayInput source="price_product" label="" className="price_feild" >
<SimpleFormIterator disableRemove disableAdd >
<DisabledInput
label='Product Type'
source='szType'
/>
<NumberInput
label='Product Price'
source='iPrice'
validate={required()}
style={{ display: 'inline', float: 'left', marginLeft: '20px' }}
/>
</SimpleFormIterator>
</ArrayInput>
推荐阅读
- ruby - 尝试安装 gem 时出现此 LoadError 的原因可能是什么?
- file-upload - 将数据帧作为镶木地板文件直接发送到保管箱
- list - 在 Kotlin 中是否有比“双重平面映射”更简洁/可读的过滤方式?
- python - 从字典的每个数据框中提取具有相同名称的列
- google-places-api - 我如何在 Google Places 评论表单中添加新评论(在查询参数上预设)
- typescript - TS - 将对象数组缩减为一个对象
- google-sheets - 在交替行中填写公式
- django - 如何在 Django 中使用另一个模板引擎
- mongodb - 为幂等性保留 Stripe webhook 事件记录多长时间?
- android - Xcode 启动时出现 CoreSimulator 框架过期错误