ng-table使用用户输入的过滤器

时间:2017-06-01 09:12:53

标签: javascript angularjs ngtable

我有一个场景,我将在页面刷新ng-table,但我不想在页面刷新时丢失任何用户输入的过滤器。

想法是将用户输入的数据存储在控制器中,然后在页面刷新后将该数据推回到过滤器输入框中。

<table ng-table="tableParams" class="table" show-filter="true">
<tr ng-repeat="user in $data">
  <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
    {{user.name}}</td>
  <td title="'Age'" filter="{ age: 'number'}" sortable="'age'">
    {{user.age}}</td>
</tr>

<p>name = {{ params.filter()[name] }}</p> //i thought this might be the way to get the filter data

示例:https://plnkr.co/edit/z98RLOX9AUOoX9c7x00d?p=preview

如果我输入&#34; mor&#34;进入&#34;名称&#34;过滤盒,我希望能够使用&#34; mor&#34;在我的控制器中,在页面刷新后将其推回到过滤器中,因此用户不会丢失他们使用过的任何搜索过滤器。

这可能吗?

1 个答案:

答案 0 :(得分:1)

要获取过滤器数据,可以使用tableParams.filter()

<p>name = {{ tableParams.filter()['name'] }}</p>

您可以使用'sessionStorage'来保留搜索过滤器。然后,页面刷新后数据不会丢失。