Ant-design-pro: 动态菜单获取时,传入name值,会自动走国际化 查找对应key值,如何取消掉呢?

Created on 20 Dec 2018  ·  10Comments  ·  Source: ant-design/ant-design-pro

进行动态菜单获取时,设置的name值,默认会走国际化formatterMessage方法,导致某些菜单打开时,会报如下错误:

[React Intl] Missing message: "XXXX" for locale: "zh-CN" __stack_frame_overlay_proxy_console__ @ index.js:2178 index.js:2178
[React Intl] Cannot format message: "XXXX", using message id as fallback.

具体应该如何处理掉这个错误呢?刚接触,万分感谢

Most helpful comment

我已经解决了。
修改src/menu/models/menu.js formatter方法里面的 locale 属性。
动态获取的 item.children 没有 locale 属性,我现在是写死测试的。(源码是获取item.route来组装数据)
现在来记录,以便后面的人遇到问题可以得到思路并且解决。

All 10 comments

https://github.com/ant-design/ant-design-pro/blob/master/src/models/menu.js#L25
换掉这一样

const result = {
...item,
name: item.name,
locale,
authority: item.authority || parentAuthority,
};

此处已经修改为item.name,依旧提示如上问题

https://github.com/ant-design/ant-design-pro/blob/master/src/models/menu.js#L25
换掉这一样

同时,BasicLayout文件中getPageTitle也修改了formatterMessage方法

@iquanzhan 我按照你说的方式去配置,还是这样的问题。

@iquanzhan 配好后,是不报错了,但是不走国际化了。

@iquanzhan 配好后,是不报错了,但是不走国际化了。

是的,我的还是依旧有这个问题。修改后还是会有报错现象。还没有解决方案

@iquanzhan 配好后,是不报错了,但是不走国际化了。

是的,我的还是依旧有这个问题。修改后还是会有报错现象。还没有解决方案

我在basiclayout 把
const pageName = formatMessage({ id: currRouterData.locale || currRouterData.name, defaultMessage: currRouterData.name, });
改成
const pageName = { id: currRouterData.locale || currRouterData.name, // defaultMessage: currRouterData.name, };
虽然不报错了。但是国际化就没了。

@iquanzhan 配好后,是不报错了,但是不走国际化了。

是的,我的还是依旧有这个问题。修改后还是会有报错现象。还没有解决方案

我在basiclayout 把
const pageName = formatMessage({ id: currRouterData.locale || currRouterData.name, defaultMessage: currRouterData.name, });
改成
const pageName = { id: currRouterData.locale || currRouterData.name, // defaultMessage: currRouterData.name, };
虽然不报错了。但是国际化就没了。

你是想实现,如果国际化中找不到时,再走自定义的中文。还是?

@iquanzhan 我是想实现直接找中文(类似官网原生需求),我现在在debug了。一起加油

我已经解决了。
修改src/menu/models/menu.js formatter方法里面的 locale 属性。
动态获取的 item.children 没有 locale 属性,我现在是写死测试的。(源码是获取item.route来组装数据)
现在来记录,以便后面的人遇到问题可以得到思路并且解决。

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lvzheng0404 picture lvzheng0404  ·  3Comments

gaoqiang19514 picture gaoqiang19514  ·  3Comments

ghost picture ghost  ·  3Comments

zhuanglong picture zhuanglong  ·  3Comments

yadongxie150 picture yadongxie150  ·  3Comments