课程章节介绍
同学们,咱们今天来看两个非常实用的例子,展示怎么用浏览器自带的国际化功能,也就是那个 Intl API,来根据用户所在的地区自动设置日期和货币的显示格式。这在我们做 Lightning Web Components 时经常用到,能让界面更符合不同地区用户的使用习惯。
我们先看日期格式。假设你的组件里需要显示一个日期,但不同国家的用户看到的顺序是不一样的。比如美国用户习惯月/日/年,而英国用户习惯日/月/年。那怎么做呢?很简单,从 @salesforce/i18n/locale 这个模块把当前用户的区域设置导入进来,就是一个表示语言和地区的字符串,比如 en-US 或 en-GB。然后直接把它传给 JavaScript 内置的 Intl.DateTimeFormat 构造函数,用它去格式化一个日期对象,出来的结果就会自动适配那个区域。你不需要自己写 if-else 去判断国家,浏览器帮你全搞定了。
再来看货币格式,同样很省心。比如你要显示一笔金额,既要考虑数字的分隔方式逗号还是句点,又要考虑货币符号放前面还是后面。这时候,我们从 @salesforce/i18n/locale 导入区域设置,同时从 @salesforce/i18n/currency 导入用户设定的货币代码,比如美元 USD 或英镑 GBP。接着用 Intl.NumberFormat,指定样式为 currency,并把货币代码传进去。这样一来,符号的位置、千分位分隔符、小数点、数字分组这些细节,全都按当地习惯自动呈现,你完全不用操心。
要记住,这个 Intl API 已经内建在所有现代浏览器里了,不需要额外加载任何外部库,非常轻量。当然,在 Salesforce 生态里,你也可以用现成的闪电组件来替代,比如 lightning-formatted-date-time 和 lightning-formatted-number,它们内部也封装了类似的国际化逻辑,拖拽配置一下就能用。但了解背后的原理,会让你在设计自定义组件时有更多灵活性。好了,这两个小例子就讲到这里,大家下去可以自己动手试试看。
关键词
LWC
Lightning Web Components
Salesforce