首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在制表器中创建多选择头过滤器?

如何在制表器中创建多选择头过滤器?
EN

Stack Overflow用户
提问于 2020-02-13 17:29:51
回答 3查看 3.9K关注 0票数 3

多年来,在制表器GitHub存储库中,这个问题已多次以各种形式被问到。下面是几个例子:https://github.com/olifolkerd/tabulator/issues/527https://github.com/olifolkerd/tabulator/issues/1759

我正在寻找一个如何使用某种形式的下拉菜单来实现这一目标的示例--理想的方法是#1759 (带有复选框的下拉菜单),但是另一个对我们有用的解决方案是一个"select“编辑器,当一个值被选中/取消选中(扩展到#527中提供的示例)时,它会在标题过滤器中添加/删除CSV。

希望有经验的人与自定义标题过滤器/编辑器在制表器可以提供一个多选择头过滤器下拉,但如果没有,那么我将张贴我自己的JSFiddle链接,一旦我得到了一些工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-18 08:54:59

下面是一个用于“选择多个”类型的制表器的自定义头过滤器的示例。如果需要,可以使用外部源(如选好multiselect.js )将其转换为下拉样式。

(我建议在完整页面视图中运行下面的代码段)。

代码语言:javascript
运行
AI代码解释
复制
const speciesTypes = ['Human', 'Android', 'Betazoid', 'Klingon', 'Ferengi', 'Tamarian'];

function multiSelectHeaderFilter(cell) {

  var values = speciesTypes;

  const filterFunc = (rowData) => {
    return values.includes(rowData['species']);
  }

  const getSelectedValues = (multiSelect) => {
    var result = [];
    var options = multiSelect && multiSelect.options;
    var opt;

    for (var i = 0, iLen = options.length; i < iLen; i++) {
      opt = options[i];

      if (opt.selected) {
        result.push(opt.value || opt.text);
      }
    }
    return result;
  }

  const onChange = () => {
    var editor = document.getElementById('speciesSelector');
    values = getSelectedValues(editor);
    console.log("values: " + values);
    cell.getColumn().getTable().removeFilter(filterFunc);
    cell.getColumn().getTable().addFilter(filterFunc);
  }

  var select = document.createElement("select");
  select.multiple = "multiple";
  select.id = 'speciesSelector';
  select.class = "chosen-select";
  select.style = 'width: 100%';
  speciesTypes.forEach(species => {
    select.innerHTML += "<option id='" + species + "' value='" + species + "' selected='selected'>" + species + "</option>";
  });
  cell.getColumn().getTable().addFilter(filterFunc);
  select.addEventListener('change', onChange);

  return select;
}

var table = new Tabulator("#tabulator", {
  layout: "fitColumns",
  data: [{
    name: 'Geordi La Forge',
    species: 'Human'
  }, {
    name: 'Dathon',
    species: 'Tamarian'
  }, {
    name: 'Jean-Luc Picard',
    species: 'Human'
  }, {
    name: 'Worf, son of Mogh',
    species: 'Klingon'
  }, {
    name: 'Tasha Yarr',
    species: 'Human'
  }, {
    name: 'Data',
    species: 'Android'
  }, {
    name: 'Wesley Crusher',
    species: 'Human'
  }, {
    name: 'Jalad',
    species: 'Tamarian'
  }, {
    name: 'Lwaxana Troi',
    species: 'Betazoid'
  }, {
    name: 'Temba',
    species: 'Tamarian'
  }, {
    name: 'T\'Kuvma',
    species: 'Klingon'
  }, {
    name: 'Lore',
    species: 'Android'
  }, {
    name: 'Noonian Soongh',
    species: 'Human'
  }, {
    name: 'Darmok',
    species: 'Tamarian'
  }, {
    name: 'Reittan Grax',
    species: 'Betazoid'
  }, {
    name: 'Quark',
    species: 'Ferengi'
  }],
  headerSort: true,
  columns: [{
    title: 'Name',
    field: 'name',
    sorter: 'string'
  }, {
    title: 'Species',
    field: 'species',
    sorter: 'string',
    headerFilter: multiSelectHeaderFilter,
    headerFilterLiveFilter: false
  }, ],
});
代码语言:javascript
运行
AI代码解释
复制
<html>

  <head>
    <link href="https://unpkg.com/tabulator-tables@4.5.3/dist/css/tabulator.min.css" rel="stylesheet">
    <script type="text/javascript" src="https://unpkg.com/tabulator-tables@4.5.3/dist/js/tabulator.min.js"></script>
  </head>

  <body>
    <div id="tabulator"></div>
  </body>

</html>

JSFiddle:https://jsfiddle.net/jjech/3th28pv0/

票数 2
EN

Stack Overflow用户

发布于 2021-06-11 10:24:15

结帐:https://github.com/olifolkerd/tabulator/issues/527#issuecomment-850900451

AkshayaBrianTauro的简单答案

代码语言:javascript
运行
AI代码解释
复制
{
    field: "book_name",
    title: "Book Name",
    headerFilterPlaceholder: " ",
    headerFilter: 'select',
    headerFilterFunc:"in",
    headerFilterParams: {values:true, sortValuesList:"asc", multiselect:true}
},
票数 4
EN

Stack Overflow用户

发布于 2020-02-14 11:24:02

见我对同一列中的制表器多个过滤器(显示dropbox)的回答

只要你认为合适..。

我不认为支持复选框的,但这将是微不足道的,以一种不同的风格的“下拉”,这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60218807

复制
相关文章
ARKit 教学:如何搭配SceneKit来建立一个简单的ARKit Demo设定ARKit SceneKit View从ARSCNView移除物件
增强现实(Argument Reality)来啰!记得宝可梦(Pokemon Go)吗?它当然也是增强现实的代表之一!Apple终于在iOS11将增强现实带进来,也因为iOS11,未来将会有数不清的iPhones和iPads就会搭载AR功能,这将会让ARKit成为世界最大的平台,是的,如果你对建置增强现实的Apps有兴趣,让你就来对地方了。
iOSDevLog
2018/08/22
1.8K0
ARKit 教学:如何搭配SceneKit来建立一个简单的ARKit Demo设定ARKit SceneKit View从ARSCNView移除物件
ARKit 初探
今年7月Apple推出了AR工具ARKit,着实闪着了大家的眼睛。从目前的评测可以知道 ARKit已经非常成熟,完全可以进行商用了。
音视频_李超
2020/04/01
2.4K0
ARKit 初探
到底有多强?苹果的增强现实框架:ARKit
写在前面 其实准备ARKit已经很久了,确切地说当WWDC开始介绍时就开始了。其后参加了苹果的ARKit workShop,加上自己有点事,所以文章一直没发出来,现在再发一篇上手文章,也没什么意义。
郭艺帆
2017/09/05
3.5K0
到底有多强?苹果的增强现实框架:ARKit
ARKit示例 - 第4部分:现实主义 - 照明和PBR
在本文中,我们将在场景中插入更逼真的虚拟内容。我们可以通过使用称为基于物理的渲染(PBR)的技术使用更详细的模型来实现这一点,并且还可以更准确地表示场景中的光照。
iOSDevLog
2018/09/20
1.3K0
ARKit示例 - 第4部分:现实主义 - 照明和PBR
ARKit示例 - 第2部分:平面检测+可视化
在我们的第一个hello world ARKit应用程序中,我们设置了我们的项目并渲染了一个虚拟3D立方体,可以在现实世界中渲染并在您移动时进行跟踪。
iOSDevLog
2018/09/20
3K1
ARKit示例 - 第2部分:平面检测+可视化
SceneKit_高级06_加载顶点、纹理、法线坐标
SceneKit_入门01_旋转人物 SceneKit_入门02_如何创建工程 SceneKit_入门03_节点 SceneKit_入门04_灯光 SceneKit_入门05_照相机 SceneKit_入门06_行为动画 SceneKit_入门07_几何体 SceneKit_入门08_材质 SceneKit_入门09_物理身体 SceneKit_入门10_物理世界 SceneKit_入门11_粒子系统 SceneKit_入门12_物理行为 SceneKit_入门13_骨骼动画 SceneKit_中级01_模型之间的过渡动画 SceneKit_中级02_SCNView 详细讲解 SceneKit_中级03_切换照相机视角 SceneKit_中级04_约束的使用 SceneKit_中级05_力的使用 SceneKit_中级06_场景的切换 SceneKit_中级07_动态修改属性 SceneKit_中级08_阴影详解 SceneKit_中级09_碰撞检测 SceneKit_中级10_滤镜效果制作 SceneKit_中级11_动画事件 SceneKit_高级01_GLSL SceneKit_高级02_粒子系统深入研究 SceneKit_高级03_自定义力 SceneKit_高级04_自定义场景过渡效果 SceneKit_高级05 检测手势点击到节点 SceneKit_高级06_加载顶点、纹理、法线坐标 SceneKit_高级07_SCNProgram用法探究 SceneKit_高级08_天空盒子制作 SceneKit_高级09_雾效果 SceneKit_大神01_掉落的文字 SceneKit_大神02_弹幕来袭 SceneKit_大神03_navigationbar上的3D文字
酷走天涯
2022/05/13
9840
SceneKit_高级06_加载顶点、纹理、法线坐标
ARKit浅析V1.0
本文主要介绍了ARKit框架,包括其开发环境、实现原理、API以及使用场景。ARKit框架是苹果在WWDC2017上推出的,可以用于构建增强现实应用。本文从ARKit的介绍、工作原理、API介绍、使用场景以及一个3D虚拟物体的例子等方面进行了详细阐述。
MelonTeam
2018/01/04
1.9K0
ARKit浅析V1.0
ARKit和CoreLocation:第一部分
演示代码 ARKit和CoreLocation:第一部分 ARKit和CoreLocation:第二部分 ARKit和CoreLocation:第三部分
iOSDevLog
2018/09/20
2.3K0
ARKit和CoreLocation:第一部分
《 iPhone X ARKit Face Tracking 》
该文章讲述了作者从一名普通iOS开发者到Apple开发者的历程,包括开发经历、学习Apple官方文档、开发者社区、开发工具、代码仓库、团队协作、总结与收获。\n在开发过程中,作者通过学习Apple的官方文档,了解了Objective-C以及Swift编程语言,并逐渐掌握了iOS开发的核心概念。通过参加技术社区,了解到了ARKit、SceneKit、Core ML等框架,并深入学习了Objective-C与Swift编程语言的基础知识和最佳实践。在开发工具方面,作者使用了Xcode、Instruments、Sketch、Adobe XD、Figma等工具。在团队协作方面,作者通过使用GitHub进行版本控制,与团队成员进行代码共享、沟通、协作。\n通过开发iOS应用,作者深入了解了ARKit、SceneKit、Core ML等框架的原理和最佳实践,并逐渐掌握了基于这些框架的开发流程。同时,作者通过总结与收获,逐渐形成了一套适用于自己的iOS开发学习体系。\n
腾讯Bugly
2017/11/20
3.7K0
《 iPhone X ARKit Face Tracking 》
《iPhone X ARKit Face Tracking》
有幸去 Cupertino 苹果总部参加了 iPhone X 的封闭开发,本文主要分享一下iPhone X上使用 ARKit 进行人脸追踪及 3D 建模的相关内容。
腾讯Bugly
2018/03/23
2K0
ARKit:增强现实技术在美团到餐业务的实践
增强现实(Augmented Reality)是一种在视觉上呈现虚拟物体与现实场景结合的技术。Apple 公司在 2017 年 6 月正式推出了 ARKit,iOS 开发者可以在这个平台上使用简单便捷的 API 来开发 AR 应用程序。
美团技术团队
2019/03/22
2.1K0
ARKit:增强现实技术在美团到餐业务的实践
ARKit by Example - 第1部分:AR立方体
这篇第一篇文章将使用ARKit创建一个非常简单的hello world AR应用程序。最后,我们将能够在增强的世界中定位3D立方体,并使用我们的iOS设备移动它。
iOSDevLog
2018/09/20
1.3K0
ARKit by Example - 第1部分:AR立方体
OpenGL(八)--纹理相关APIOpenGL(八)--纹理相关API
OpenGL(八)--纹理相关API 1. 原始图像数据 //存储图像数据所占内存大小 size = 图像的高度 * 图像的宽度 * 每个像素所占字节数 像素所占字节数:一般为4Byte,包含RGBA四个通道,每个通道为1Byte(8Bit) 2. 认识函数 像素存储方式 //改变像素存储方式 void glPixelStorei(GLenum pname,GLint param); //恢复像素存储方式 void glPixelStoref(GLenum pname,GLint param); /
用户8893176
2021/08/09
1.3K0
OpenGL(八)--纹理相关APIOpenGL(八)--纹理相关API
ARKit 初学和发布会 Demo
增强现实技术(Augmented Reality,简称 AR) ,概念我就不说了百度百科会告诉你,下面是我在iOS ARKit发布会对iOS AR应用的理解。
星宇大前端
2019/01/15
7150
ARKit示例 - 第3部分:添加几何和物理乐趣
在上一篇文章中,我们使用ARKit来检测现实世界中的水平平面,然后将这些平面可视化。在本文中,我们现在将开始为我们的AR体验添加虚拟内容,并开始与检测到的平面进行交互。
iOSDevLog
2018/09/19
1K0
iOS版 使用ARKit和Swift创建交互式Domino游戏
在下面的教程中,我将向您展示如何使用Swift和ARKit制作有趣的Domino游戏。
iOSDevLog
2019/03/06
2.4K0
iOS版 使用ARKit和Swift创建交互式Domino游戏
SceneKit_入门08_材质
SceneKit_入门01_旋转人物 SceneKit_入门02_如何创建工程 SceneKit_入门03_节点 SceneKit_入门04_灯光 SceneKit_入门05_照相机 SceneKit_入门06_行为动画 SceneKit_入门07_几何体 SceneKit_入门08_材质 SceneKit_入门09_物理身体 SceneKit_入门10_物理世界 SceneKit_入门11_粒子系统 SceneKit_入门12_物理行为 SceneKit_入门13_骨骼动画 SceneKit_中级01_模型之间的过渡动画 SceneKit_中级02_SCNView 详细讲解 SceneKit_中级03_切换照相机视角 SceneKit_中级04_约束的使用 SceneKit_中级05_力的使用 SceneKit_中级06_场景的切换 SceneKit_中级07_动态修改属性 SceneKit_中级08_阴影详解 SceneKit_中级09_碰撞检测 SceneKit_中级10_滤镜效果制作 SceneKit_中级11_动画事件 SceneKit_高级01_GLSL SceneKit_高级02_粒子系统深入研究 SceneKit_高级03_自定义力 SceneKit_高级04_自定义场景过渡效果 SceneKit_高级05 检测手势点击到节点 SceneKit_高级06_加载顶点、纹理、法线坐标 SceneKit_高级07_SCNProgram用法探究 SceneKit_高级08_天空盒子制作 SceneKit_高级09_雾效果 SceneKit_大神01_掉落的文字 SceneKit_大神02_弹幕来袭 SceneKit_大神03_navigationbar上的3D文字
酷走天涯
2022/05/13
1.3K0
SceneKit_入门08_材质
ARKit 简介
ARKit 简介 苹果在AR一直布局VR,最近的苹果开发者大会上,果家终于放出大招:iOS移动端ARKit平台以及VR兼容新桌面操作系统macOS High Sierra。 增强现实(AugmentedReality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。说起AR,其实它并不是第一次出现,不管在国内还是国外,好多大小公司都对AR有所涉猎,去年流行的Pokémon Go,阿里的AR红包,百度的AR地图…都是AR领
xiangzhihong
2018/02/06
2.6K0
ARKit 简介
ARKit 到底怎么实现的
Integrate iOS device camera and motion features to produce augmented reality experiences in your app or game
酷走天涯
2018/09/14
1.1K0
ARKit 到底怎么实现的
建立您的第一个AR体验
此示例应用程序运行ARKit世界跟踪会话,其内容显示在SceneKit视图中。为了演示平面检测,应用程序只需放置一个SCNPlane对象来可视化每个检测到ARPlaneAnchor对象。
iOSDevLog
2018/08/22
1.1K0
建立您的第一个AR体验

相似问题

从起始节点查找DAG中的所有路径

21

查找DAG上两个节点之间的所有路径

21

DAG在Web中不可见

1214

到达DAG中所有节点的最小节点数

21

使用贪心算法访问DAG中的所有节点

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档