YADCF:range_date 过滤器不适用于特定日期格式

YADCF : range_date filter doesn't work with specific date format

我无法使 yadcf 的 range_date 过滤器工作。 我将它与 datatables.net 一起使用。而且我不知道我是否遗漏了什么或者它是否是一个错误。

我正在为传递给数据表的原始数据使用这种日期格式:YYYY-MM-DDTHH:mm

我使用这种格式在日期时间选择器中显示日期:DD/MM/YYYY

我查看了 yadcf 插件内部以了解它的作用,它似乎从传递给数据表的原始值中获取行日期(在我的例子中是这种格式:'YYYY-MM-DDTHH:mm')和使用 moment_date_format 中提供的格式阅读它。然后它将此日期与范围过滤器中的日期进行比较,这些日期的格式为:'DD/MM/YYYY',但 yadcf 仍使用 moment_date_format.

中提供的格式读取它

我做了一个 fiddle 它显示了问题: http://jsfiddle.net/vatvat99/go5mxw0d/32/

var data = [
  {date: '2018-12-05T00:00'},
  {date: '2018-12-04T00:00'},
  {date: '2018-12-03T00:00'},
  {date: '2018-12-02T00:00'},
  {date: '2018-12-01T00:00'},
];

$(document).ready(function () {
  $('#example').dataTable({
    data: data,                    
    columnDefs: [{
      defaultContent: "-",
      targets: "_all"
    }],
    columns: [
      {
        name: 'date',
        data: 'date',
      }
    ],
  }).yadcf([
    { 
      column_number: 0, 
      filter_container_id: 'dateContainer',
      filter_type: 'range_date', 
      datepicker_type: 'bootstrap-datetimepicker',
      moment_date_format: 'YYYY-MM-DDTHH:mm',
      filter_plugin_options: {
        format: 'DD/MM/YYYY',
        showClear: true,
      }
    },
  ]);
});

感谢您的帮助。

现在你可以通过为 moment_date_formatfilter_plugin_options: { format: 'YYYY-MM-DDTHH:mm', 设置相同的日期格式来解决它,它发生是因为即使 filter_plugin_options.format 用于稍后输出日期选择器日期选择在过滤逻辑 addRangeDateFilterCapabilitymoment_date_format 被用来解析它(你可以称之为错误),所以现在使用相同的格式,此外你可以用 jsfiddle [= 打开一个问题23=] 附在 yadcf 仓库上。

.yadcf([ { column_number: 0, filter_container_id: 'dateContainer', filter_type: 'range_date', datepicker_type: 'bootstrap-datetimepicker', moment_date_format: 'YYYY-MM-DDTHH:mm', filter_plugin_options: { format: 'YYYY-MM-DDTHH:mm', showClear: true, } },

See working jsfiddle