DataTable.use()
获取/设置库或 DataTables 使用的全局对象。
说明
在不使用全局 window
作为其基础的环境(例如 ES 模块)中加载 DataTables 时,你可能需要告诉它可以使用的外部库。例如,DataTables 和 Moment.js 或 Luxon 用于处理格式化的日期和时间。在浏览器中,这些库会自动附加到全局 window
,但模块加载器中则不可能发生这种情况。对于此类情况,请使用此方法使其可供 DataTables 使用。
还可以传入一个 window
对象,这对于在无头环境中构建 DataTable 很有帮助。
重要:如果你将 Moment.js 或 Luxon 设置为用于日期/时间操作的库,则 DataTables 仅期望使用这两个库中的一个。不要同时设置两者。
请注意,此方法在使用 ES 模块或 Common JS 加载时尤其有用。如果使用 script
标签来加载 DataTables 及任何依赖项,则通常不需要使用此方法,因为它们会自动被检测到。
类型
函数 use(library)
- 说明
设置库,或 DataTables 用于操作的全局对象(即
window
),比如以自动检测库是什么的方式操作日期和时间。- 参数
名称 类型 可选 1 library
任何
否 这应该是正在设置的库或对象。
- 返回
无返回值。
函数 use(type, library)
- 说明
设置库,或 DataTables 用于操作的全局对象(即
window
),比如操作日期和时间,并指定使用哪个库。- 参数
名称 类型 可选 1 library
任何
否 这应该是正在设置的库或对象。
2 type
否 此参数给出的值告诉 DataTables 你正在设置什么库。有关此参数可以取的值,请参阅上面 getter 重载的参数。
- 返回
无返回值。
示例
使用 Moment.js 检测格式化日期
import moment from 'moment';
import DataTable from 'datatables.net';
// Tell DataTables that it can use Moment for date formatting
DataTable.use(moment, 'moment');
// Tell DataTables what date format you want to look for in the HTML data
DataTable.datetime('D MMM YYYY');
// Initialise DataTables
new DataTable('#example');
使用 Luxon 将数据呈现为特定格式
import luxon from 'luxon';
import DataTable from 'datatables.net';
// Tell DataTables that it can use Luxon for date formatting
DataTable.use(luxon, 'luxon');
// Initialise DataTables with a specific column formatting date information
new DataTable('#example', {
columnDefs: [
{
targets: 4,
render: DataTable.render.datetime('d MMM yyyy')
}
]
});