intl
利用 Intl Javascript API 呈现日期和数字
- 作者: Allan Jardine
- 需要:DataTables 1.10+
利用 Javascript Intl API 的呈现方法。此方法受 IE11、Edge、Chrome、Firefox 和 Safari 10 以上版本的浏览器支持。任何不支持 Intl 的浏览器都只会为最终用户显示未经格式化的数据。
使用这些方法的一大优势在于,表的格式将自动根据您的用户的语言环境呈现给最终用户。举例来说,在美国,日期可能以 "m/d/yyyy" 的格式呈现,而在法国,则以 "dd/mm/yyyy" 的格式呈现。
有两种可用呈现方法
intlNumber
用于格式化数字。intlDateTime
用于格式化日期时。
两种方法均可以采用两个参数(可选)
- 语言环境或语言环境数组 [可选]
- 格式化程序选项 [可选]
如需了解受支持的选项,请参阅 MDN 中有关于 DateTimeFormat 和 NumberFormat 的文档。
用途
可以通过以下几种不同的方式来获取和使用此插件。
浏览器
此插件可以在 DataTables CDN 上获取
然后,此插件将自动在全局 DataTables 实例中注册自身。如果您使用的是 AMD 加载器,例如 Require.js,也可以使用此文件。
请注意,如果您使用的是多个插件,通过将插件合并到一个文件中并将其托管在您自己的服务器上,而非向 DataTables CDN 发出多个请求,在性能方面会更有利。
NPM
插件均可在 NPM 上获取(NPM 也可与 Yarn 或任何其他 Javascript 包管理器一起使用),它是 datatables.net-plugins
包 的一部分。要使用此插件,首先安装插件包
npm install datatables.net-plugins
ES 模块
然后,如果您使用的是 ES 模块,则导入 datatables.net
、需要的任何其他 DataTables 扩展以及此插件
import DataTable from 'datatables.net';
import 'datatables.net-plugins/dataRender/intl.mjs';
CommonJS
如果您使用的是 Node 的 CommonJS 加载器(例如,使用了较早版本的 Webpack,或非模块 Node 代码),则使用以下方法来 require
此插件
var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/dataRender/intl.js');
示例
// Number renderer - using the `columns.render` option:
render: DataTable.render.intlNumber()
// Number renderer - with specified locale:
render: DataTable.render.intlNumber('de')
// Number renderer - with specified locale and options:
render: DataTable.render.intlNumber('de', {
style: 'currency',
currency: 'USD'
} )
// Date time renderer - using the `columns.render` option:
render: DataTable.render.intlDateTime()
// Date time renderer - with specified locale:
render: DataTable.render.intlDateTime('en-US')
// Date time renderer - with specified locale and options:
render: DataTable.render.intlDateTime('de', {
weekday: 'long'
} )
版本控制
如果您有任何关于如何改进此插件的想法,或发现任何错误之处,您可以在 GitHub 上提出,我们非常欢迎您的加入!
- 此插件: intl.js
- 完整的 DataTables 插件仓库: DataTables/Plugins