基于此示例,我想隐藏过滤器texbox,并在双击列名后才显示它。
我可以从哪里开始? :) 感谢。
编辑:
感谢mainguy的建议我能够完成一个例子http://plnkr.co/edit/euSlVib5POkjAAe2Ucml?p=preview
答案 0 :(得分:1)
你可以这样做(注意变量fv
(filtervisible的缩写):
更改headertemplate中的输入
<input type="text" ng-show="fv" ng-click="stopClickProp($event)" placeholder="Filter..." ng-model="col.filterText" ng-style="{ 'width' : col.width - 14 + 'px' }" style="position: absolute; top: 30px; bottom: 30px; left: 0; bottom:0;"/>
将fv
添加到控制器范围。
$scope.fv=false; //initially closed
在ngGridDoubleClick插件的onDoubleClick处理程序中为fv
添加一个toogle函数。
self.scope.$parent.fv=!self.scope.$parent.fv;
这是Plunker。不完美,因为你必须找到一种方法来调整大小,但它可能会给你一个如何进行的提示。
答案 1 :(得分:1)
我没有使用双击插件;但是,您可以进行双击操作以切换在标题单元格模板的输入标记的ng-show(或ng-hide
或ng-if
)属性中引用的范围级别布尔变量,以控制过滤器的可见性。
在你的main.js中:
$scope.filterVisible = false; // hidden initially
在双击处理程序中:
$scope.filterVisible = !$scope.filterVisible;
在标题单元格模板中:
<input ng-show="filterVisible" type="text" ng-click="stopClickProp($event)" placeholder="Filter..." ng-model="col.filterText" ng-style="{ 'width' : col.width - 14 + 'px' }" style="position: absolute; top: 30px; bottom: 30px; left: 0; bottom:0;"/>
您可能希望制作多个范围级别的布尔值(或者甚至更好的布尔数组)来处理切换网格中多个/所有列的过滤器。