此刻我正在使用智能表,并且在每一列的顶部都输入了文本框,并且正在使用st-search。从表中选择了我正在做的事情,然后更改了表中的结果。
单击行时,我试图清除搜索框。目前,在点击时实现了其他业务逻辑,因此我现在想清除这些文本框。
我试图将ng-model与这些文本框相关联,并在单击该行但文本框未更改时将其清除。我也用谷歌搜索了这个问题,当您单击按钮(通过指令)清除谓词时,我只找到了如何使它起作用的解决方案。但是,我无法使这些解决方案以编程方式起作用。
答案 0 :(得分:0)
要解决此问题,我做了以下事情:
用此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(){ 返回{ 限制:“ EA”, 要求:“ ^ stTable”, 链接:function(scope,element,attrs,ctrl){ 返回element.bind('click', function(){ 返回范围。$ 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>
这很好。不幸的是,我无法以编程方式从代码中清除谓词。但这对我来说足够好。