Num
Справочник API компонента <Num>
Обзор
Компонент <Num> выводит число в формате локали пользователя и может настраиваться с помощью параметров форматирования.
<Num>{100}</Num>
// Результат: 100Все форматирование выполняется локально с использованием библиотеки Intl.NumberFormat.
Справочные материалы
Пропсы
Prop
Type
Описание
| Prop | Описание |
|---|---|
children | Содержимое, отображаемое внутри компонента. Обычно это число, которое будет отформатировано в соответствии с текущей локалью и параметрами. Если указано, имеет приоритет над пропом value. |
name | Необязательное имя числового поля, используется для метаданных. |
value | Значение числа по умолчанию. Может быть строкой или числом. Строки будут преобразованы в числа перед форматированием. |
options | Необязательные параметры форматирования числа согласно спецификации Intl.NumberFormatOptions. Используйте их для задания стилей, например валюты, точности десятичных и т. п. |
locales | Необязательный список локалей для указания локали форматирования. Если не указано, используется локаль пользователя по умолчанию. Подробнее о задании локалей читайте здесь. |
Возвращает
JSX.Element, содержащий отформатированное число как строку.
Примеры
Базовый пример
В этом примере item.quantity будет переформатирован в соответствии с локалью пользователя.
import { Num } from 'gt-next';
export default function Inventory(item) {
return (
<Num> {item.quantity} </Num>
);
}Указание локалей
По умолчанию локаль определяется настройками браузера пользователя,
но вы можете явно задать локаль для компонента <Num>.
import { Num } from 'gt-next';
export default function CountDisplay(item) {
return (
<Num locales={['fr-FR']}> {item.count} </Num>
);
}Перевод компонентов <Num>
Предположим, вам нужно, чтобы число было частью более длинного переводимого предложения.
Просто оберните соответствующий фрагмент в компоненты <T>.
import { T, Num } from 'gt-next';
export default function DynamicPriceDisplay(item) {
return (
<T id="price">
Доступно <Num>{item.count}</Num> единиц. // [!code highlight]
</T>
);
}Настраиваемое форматирование
<Num> использует библиотеку Intl.NumberFormat для форматирования.
import { Num } from 'gt-next';
export default function CustomFormat(number) {
return (
<Num
options={{ style: "decimal", maximumFractionDigits: 2 }}
>
{number}
</Num>
);
}Примечания
- Компонент
<Num>используется для форматирования чисел в соответствии с локалью пользователя. - Если вы используете
<Num>внутри компонента<T>, обязательно оборачивайте все динамические числа в<Num>.
Следующие шаги
- Подробную информацию и примеры использования компонента
<Num>, а также других компонент для переменных —<Currency>,<DateTime>и<Var>,
Насколько полезно это руководство?