smart-table - 如何以编程方式清除智能表中的搜索字段?
问题描述
我目前正在使用智能表,并且在每列的顶部都有输入文本框,并且正在使用 st-search。我所做的重点是从表格中选择一些东西,然后改变表格中的结果。
单击该行时,我试图清除搜索框。目前其他业务逻辑是在点击时实现的,所以此时我希望清除这些文本框。
我试图将 ng-model 与这些文本框相关联,并在单击该行但文本框不会更改时清除它们。我也用谷歌搜索了这个问题,我只找到了当你点击按钮(通过指令)清除谓词时如何使它工作的解决方案。但是,我无法使这些解决方案以编程方式工作。
解决方案
为了解决这个问题,我做了以下事情:
使用此 github 问题 ( https://github.com/lorenzofox3/Smart-Table/issues/164 )中的代码对 smarttable.js 进行猴子修补。对我来说,这发生在第 574 行附近。
// 添加自https://github.com/lorenzofox3/Smart-Table/issues/164 ng.module("smart-table").directive("stResetSearch", function() { return { restrict: 'EA', require: '^stTable', link: function(scope, element, attrs, ctrl) { return element.bind('click', function() { return scope.$apply(function() { var tableState; tableState = ctrl.tableState(); tableState.search.predicateObject = {}; tableState.pagination.start = 0;返回 ctrl.pipe(); }); }); } }; });
在 angularjs 中调用函数的元素中添加了“st-research-search”。对我来说,这就是“tr”元素。如下所示。
<tr ng-repeat="medicine in medicines" ng-click="medicationMatched(medicine)" ng-class="heatmapClass(medicine)" st-reset-search>
这工作得很好。不幸的是,我无法以编程方式从代码中清除谓词。但这对我来说已经足够好了。
推荐阅读
- oracle - 触发器函数 - 每当在表“zaposlenici”中添加或更改某些内容时,创建一个设置列“inicijali”的触发器
- php - Composer 自定义 GitLab 服务器依赖项
- sql - 可以进一步优化约 20M 记录表上 `inet` 列上的“位图索引扫描”
- php - 忽略软删除记录的唯一电话号码检查 - Laravel
- java - 模拟对象的 Mockito 休息模板始终为空
- nginx - 使用带有 oauth2-proxy 身份验证的主从 Nginx 入口
- android - 如何每次将数组中的数据设置为新视图的文本视图
- java - 将信息从文件输入列表
- c# - 无法在 VS Code 中构建 Q# 程序
- java - firebase StorageException 被打印,即使我处理它