<formattedmessage>返回没有任何标签的字符串

时间:2018-05-04 14:19:08

标签: javascript reactjs internationalization bootstrap-4 react-intl

忍受我,我不知道如何解释这个问题。

我使用Bootstrap Table来显示我的数据,我在表格中有searchFilters,排序和更多功能。

当我开始实现国际化时,我开始直接在文本组件中进行格式化,当我开始获得太多列和表时,我将列名移动到需要时读取的外部文件。我还需要使用headerFormatter添加动态翻译。

问题是react-intl库在渲染时添加了<span>标记,导致其他<span>标记无法正常运行。

const headerFormatter = (col, colIndex) => {
    return ( 
        <FormattedMessage id={col.text} key={colIndex} />
    );
}
//Column Example
{dataField: 'agentNo',text: 'AgentNo', headerFormatter: headerFormatter, filter: textFilter({defaultValue:''}), sort: true},

在这种情况下,有没有办法让<FormattedMessage />仅返回string

额外信息

格式化:

<span>Date</span>

非格式化:

AgentNo
<span class="react-bootstrap-table-sort-order dropup"><span class="caret"></span></span>

<span><span>

<FormattedMessage />粉碎了

2 个答案:

答案 0 :(得分:1)

我们决定重新组织并使用基于上下文的函数formatMessage

答案 1 :(得分:-1)

您可以将您的类添加到FormattedMessage组件,如下所示:

<ListView Name="StaticEntryListView" 
Grid.Column="0" 
ItemTemplate="{StaticResource StaticEntryTemplate}" 
ItemsSource="{x:Bind seproject:EntryList.Instance" />