使用复杂消息语法plurar的格式化消息



我尝试使用formattedMesage(react intl)使用格式化API。如何用复数创建一个格式的信息?现在:

const outputTimeOutValues = [
        {value:'00:00:01', translationId:'passage.outputTimeOut.oneSecond'},
        {value: '00:00:03', translationId:'passage.outputTimeOut.threeSeconds'},
        {value: '00:00:05', translationId: 'passage.outputTimeOut.fiveSeconds'},
        {value: '00:00:10', translationId: 'passage.outputTimeOut.tenSeconds'},
        {value: '00:00:15', translationId: 'passage.outputTimeOut.fifteenSeconds'},
        {value: '00:00:30', translationId: 'passage.outputTimeOut.thirtySeconds'}]
    const renderMenuItems = values => values.map(({value ,translationId}) =>
        <MenuItem value={value} primaryText={<FormattedMessage id={translationId} />}/>)

期望带有消息语法的东西

const renderMenuItems1 = values => values.map(({minutes, seconds}) =>
    <MenuItem value={`00:${minutes}:${seconds}`} primaryText={<FormattedMessage
        defaultMessage={'Hello {seconds}, you have {minutes, second} one {minute} other {minutes}'}
        values={{seconds, minutes}}
    />}
    />)

预期文本:1秒,2秒等。

使用InpoxtIntl将INTL类作为Prop将其注入组件。然后,您可以在消息上拨打intl.formatMessage(),然后将其插入primaryText Prop将其插入到您的MenuItem组件中。

相关内容

  • 没有找到相关文章

最新更新