【问题标题】:Tabulator - lookup list ordering制表符 - 查找列表排序
【发布时间】:2020-07-16 05:46:08
【问题描述】:

在制表符中,我已经这样定义了一个列:

{
    title:"Bonding", 
    editor:"select", 
    field:"bondingtype", 
    headerFilter:true, 
    width: 120, 
    formatter:'lookup',
    formatterParams: {"0":"Auto detect", "1":"ATOL", "6":"Flight Only", "2":"Non-Licensed", "3": "Not Bonded", "4":"Acting as agent", "5":"ABTA"}
    headerFilterParams: {"0":"Auto detect", "1":"ATOL", "6":"Flight Only", "2":"Non-Licensed", "3": "Not Bonded", "4":"Acting as agent", "5":"ABTA"}
}

一切正常,但是当在 headerfilter 中选择下拉过滤器时,条目已按数字顺序 1-6 排序,而不是列表中定义的顺序。

有没有办法可以将排序顺序控制为传入数组中定义的顺序?

【问题讨论】:

    标签: tabulator


    【解决方案1】:

    这是因为 JavaScript 处理对象属性的方式,定义它们的顺序无关紧要,JavaScript 在迭代它们时总是按字母数字顺序排列它们。

    要解决这个问题,您可以使用复杂数组选项来传递值列表:

    headerFilterParams:{
        values:[
            {
                label:"0",
                value:"Auto detect",
            },
            {
                label:"1",
                value:"ATOL",
            },
            {
                label:"6",
                value:"Flight Only",
            },
            //and so on...
        ]
    }
    

    【讨论】:

      【解决方案2】:

      我现在没有时间设置一个示例来测试,但我会先改变这个:

      headerFilterParams: {"0":"Auto detect", "1":"ATOL", "6":"Flight Only", "2":"Non-Licensed", "3": "Not Bonded", "4":"Acting as agent", "5":"ABTA"}```
      

      到这里:

      headerFilterParams: {values: {"0":"Auto detect", "1":"ATOL", "6":"Flight Only", "2":"Non-Licensed", "3": "Not Bonded", "4":"Acting as agent", "5":"ABTA"}}
      

      【讨论】:

      • 非常感谢您的建议;我已调整为 {values: { etc. 如上所述,遗憾的是似乎仍然坚持重新排序以按关键数字顺序排列。
      • 是的,我在这里玩过这个fiddle,它只想按键排序。我确实发现了这个问题:github.com/olifolkerd/tabulator/issues/2361。您可能想在其中添加您的名字。
      猜你喜欢
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 2016-03-30
      • 2014-02-22
      • 2017-05-11
      • 2016-02-16
      • 1970-01-01
      • 2010-11-05
      相关资源
      最近更新 更多