使用记录和来源时出错

问题描述 投票:2回答:1

我目前正在使用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]未定义

如果有人遇到过这个问题,谢谢!

javascript react-admin
1个回答
1
投票

我解决了这个问题,当我第一次在页面上移动时,我看到该记录是一个对象,但是第二次,它变成了一个内部有对象的数组。

所以我做了这个函数来解决这个问题:

function isRecord(record) {
    if (record[0] !== undefined)
        return (record[0])
    if (record !== undefined)
        return (record)
}

我希望它可以提供帮助

© www.soinside.com 2019 - 2024. All rights reserved.