react-admin为输入字段翻译defaultValue

时间:2018-08-18 01:39:47

标签: react-admin

我想为创建视图定义默认值,如here所述。另外,我想按here的说明转换默认值。我导入了高阶组件,并尝试将translate作为函数使用。

import { translate } from 'react-admin';

export const PostCreate = (props) => (
<Create {...props}>
    <SimpleForm>
        <TextInput source="title" defaultValue={translate('resources.posts.defaultTitle')} />        
    </SimpleForm>
</Create> );

我收到以下错误:

  

TypeError:无法将类作为函数调用

也许这是缺少的功能?例如,label属性将自动翻译。

1 个答案:

答案 0 :(得分:0)

resources变量从何而来?在您的示例中,我看不到它导入。

或者,translate的参数必须是字符串。 您是否尝试过类似的操作:

translate('resources.posts.defaultTitle')

您的方法似乎并不正确。就是说,我不知道resources.posts.defaultTitle是由React Admin的默认翻译API公开的。

别忘了声明您的自定义翻译:

import React from 'react';
import { Admin, Resource } from 'react-admin';
import englishMessages from 'ra-language-english';
import frenchMessages from 'ra-language-french';

const customMessages = {
    fr: {}, // custom french
    en: {}, // custom english
};   

const messages = {
    fr: frenchMessages,
    en: englishMessages,
};
const i18nProvider = locale => { ...messages[locale], ...customMessages[locale] };

const App = () => (
    <Admin locale={resolveBrowserLocale()} i18nProvider={i18nProvider}>
        ...
    </Admin>
);