正如标题所示,我想在单个列的“过滤器”输入下插入一个下拉菜单或弹出窗口,如下所示,并用红色圆圈圈出(我对删除部分的恶意表示歉意-这是一个拥有专有信息的企业级应用程序) :
A portion of the table showing the column filter inputs
我想要的功能是能够单击输入,并在其下方具有一个下拉/弹出窗口显示,其中包含两个附加输入和一个范围滑块。
使用这些规范创建下拉菜单/弹出窗口不是问题。我遇到的问题是,这些列过滤器输入是由vue-good-table插件动态生成的。
我已经成功地添加了Flatpickr日期选择器,通过定位输入的占位符属性来过滤表中其他位置的输入,如下面的代码和图片所示:
addDatepickers() {
let inputs = [
'input[placeholder="Filter Received"]',
'input[placeholder="Filter Effective"]',
'input[placeholder="Filter Need By Date"]'
];
inputs.forEach(function (input) {
flatPickr(input, {
dateFormat: "m-d-Y",
mode: "range",
allowInput: true
});
});
},
上面的功能运行良好,主要是因为我能够调用Flatpickr插件作为一个函数,并将其传递给以列过滤器输入为目标的forEach。
尝试处理弹出/下拉功能时,它似乎不太方便。据我所知,弹出/下拉菜单可能需要是标准的HTML标记(我认为如果没有特别的笨拙/笨拙,就无法将其传递给forEach)。
我对Vue还是很陌生-因此,我敢肯定,有些可能性我被忽略了。我希望与大家见面,希望有人可能遇到过类似的问题,并且找到了一种解决问题的优雅方法。
如前所述,我正在使用的表插件是vue-good-table。我没有在他们的文档或问题中找到针对此特定用例的解决方案。同样,通过Vue的文档,我发现了点点滴滴可能会有所帮助,但是我至今仍无法将它们组合起来以找到解决方案。
供参考:
https://xaksis.github.io/vue-good-table/guide/ https://github.com/xaksis/vue-good-table/issues/453
编辑:包括以下codeandbox,其中包含一个功能/设置几乎与我正在生产的产品相同的表: