我目前正在使用React-Admin,我创建了一个自定义字段,其中包含以下代码:
import React from 'react';
import PropTypes from 'prop-types';
const PriceField = ({ source, record }) =>
<div>
<div hidden>
{window.price = record[source]
.replace('[', '')
.replace(')', '')
.split(',')}
</div>
<div>
Entre {window.price[0]}€ et {window.price[1]}€
</div>
</div>
PriceField.propTypes = {
label: PropTypes.string,
record: PropTypes.object,
source: PropTypes.string.isRequired
}
export default PriceField;
叫这里:
<List {...props} title="Fiches Techniques" perPage={10}>
<Datagrid>
<TextField label="Marque" source="marque"/>
<ModelField label="Modele" source="modele"/>
<TextField label="Garage" source="garage"/>
<TextField label="Année véhicule" source="annevehicule"/>
<PriceField source="prix"/>
<ShowButton/>
</Datagrid>
</List>
当我第一次在这个页面上,一切都很好,一切都在显示,但当我继续其他页面,然后我回去它。
我有错误:记录[source]未定义
如果有人遇到过这个问题,谢谢!
我解决了这个问题,当我第一次在页面上移动时,我看到该记录是一个对象,但是第二次,它变成了一个内部有对象的数组。
所以我做了这个函数来解决这个问题:
function isRecord(record) {
if (record[0] !== undefined)
return (record[0])
if (record !== undefined)
return (record)
}
我希望它可以提供帮助