From b5b6845193afe38c1a63407046b3299cb4eb3a4d Mon Sep 17 00:00:00 2001 From: zhipenglin Date: Thu, 21 Nov 2024 16:49:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E8=80=81=E7=9A=84locale?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/index.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 1573566..b702f11 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kne/react-enum", - "version": "0.1.3", + "version": "0.1.4", "description": "管理和获取枚举值.", "syntax": { "esmodules": true diff --git a/src/index.js b/src/index.js index eba2905..dde735a 100644 --- a/src/index.js +++ b/src/index.js @@ -19,7 +19,7 @@ const formatEnum = ({ value, format, language }) => { }; const useEnumResource = () => { - const { enums } = usePreset(); + const { enums, locale, language } = usePreset(); return useRefCallback(async ({ moduleNames }) => { const getResource = async target => { const loader = Object.assign({}, globalParams.base, enums)[target]; @@ -28,7 +28,8 @@ const useEnumResource = () => { return null; } - const resource = await (typeof loader === 'function' ? loader({ target }) : loader); + //locale参数可能被废弃 + const resource = await (typeof loader === 'function' ? loader({ target, locale, language }) : loader); if (Array.isArray(resource)) { return new Map(resource.map(item => [item.value.toString(), item])); From 57dafc4064ebe540a5df2083f1668980a599cfd8 Mon Sep 17 00:00:00 2001 From: zhipenglin Date: Thu, 21 Nov 2024 16:52:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=86=8D=E4=BF=AE=E6=94=B9=E4=B8=80?= =?UTF-8?q?=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/index.js b/src/index.js index dde735a..4389821 100644 --- a/src/index.js +++ b/src/index.js @@ -7,8 +7,8 @@ import uniq from 'lodash/uniq'; import transform from 'lodash/transform'; import preset, { globalParams, getCache } from './preset'; -const formatEnum = ({ value, format, language }) => { - const label = value.locale?.[language] || value.description; +const formatEnum = ({ value, format, language, locale }) => { + const label = value.translation?.[language || locale] || value.description; if (format === 'origin') { return value; } @@ -44,7 +44,7 @@ const useEnumResource = () => { }; const useEnumLoader = () => { - const { language } = usePreset(); + const { language, locale } = usePreset(); const resource = useEnumResource(); return useRefCallback(async ({ requests, format }) => { const cache = getCache(); @@ -84,7 +84,7 @@ const useEnumLoader = () => { } const currentResource = resourceObject[request.moduleName]; const enumValue = currentResource.get(request.value); - const formatValue = formatEnum({ value: enumValue, format: request.format || format, language }); + const formatValue = formatEnum({ value: enumValue, format: request.format || format, language, locale }); cache.set(getCacheKey(request), formatValue); return formatValue; })(request); @@ -116,7 +116,7 @@ const EnumResource = p => { p ); const resource = useEnumResource(); - const { language } = usePreset(); + const { language, locale } = usePreset(); return ( { formatEnum({ value, format, - language + language, + locale }) ) ) @@ -144,7 +145,8 @@ const EnumResource = p => { formatEnum({ value, format, - language + language, + locale }) ) );