我正在使用UI Grid模块处理AngularJS项目。我想将行过滤作为选项提供,但不是很多用户需要它并且过滤器框占用了大量空间,因此我想从禁用过滤选项开始,并根据需要启用一个按钮。所以我设置enableFiltering: false
并添加了一个运行$scope.gridOptions.enableFiltering = !$scope.gridOptions.enableFiltering;
的按钮,但点击它似乎没有做任何事情。经过一些测试,我发现如果我从enableFiltering: true
开始,单击按钮仍然不会立即执行任何操作,但如果我单击它然后尝试键入其中一个过滤器框,它们将会消失我开始打字的时候(但即使再次点击按钮,仍然不会重新出现)。
我对如何正常工作有任何想法?我已经尝试了$ scope。$ apply(),但这只给了我“错误:[$ rootScope:inprog] $申请已经在进行中。” Plunker:http://plnkr.co/edit/L5bgA4XukmYJaVQHVkgR
答案 0 :(得分:0)
以下是我想要的:http://plnkr.co/edit/Qyts0zQrltx4QxlOWgob?p=preview
受ui-grip网站示例的启发:http://ui-grid.info/docs/#/tutorial/103_filtering
// Prepare your seasons' array with predefined size .
const saisons = Array.from({length: 5}, (v, k) => null);
// add seasons :
saisons[1] = [null ,{episode: 1, file: "/"}, {episode: 2, file: "/"}, {episode: 3, file: "/"}];
saisons[2] = [null, {episode: 1, file: "/"}, {episode: 2, file: "/"}, {episode: 3, file: "/"}];
//Print the 2ⁿᵈ episode of th 1ˢᵗ season :
console.log(
saisons[1][2].file
)