如何通过搜索多个搜索键进行过滤?
我正在尝试类似的方法,但是(当然)它不起作用:
<tr v-repeat="questions | filterBy search in 'reference','user.name','shop.shopName'">
Run Code Online (Sandbox Code Playgroud)
filterBy自定义过滤器未记录在AFAIK中,但是您可以使用method制作自己的过滤器:
var demo = new Vue({
el: '#demo',
data: {
search: 're',
people: [
{name: 'Koos', age: 30, eyes:'red'},
{name: 'Gert', age: 20, eyes:'blue'},
{name: 'Pieter', age: 12, eyes:'green'},
{name: 'Dawid', age: 67, eyes:'dark green'},
{name: 'Johan', age: 15, eyes:'purple'},
{name: 'Hans', age: 12, eyes:'pink'}
]
},
methods: {
customFilter: function(person) {
return person.name.indexOf(this.search) != -1
|| person.eyes.indexOf(this.search) != -1
;
}
},
})Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js"></script>
<div id="demo">
<input type="text" class="form-control" v-model="search"/>
<br/>
<table class="table">
<thead>
<tr>
<th>name</th>
<th>eyes</th>
<th>age</th>
</tr>
</thead>
<tr v-for="person in people | filterBy customFilter">
<td>{{ person.name }}</td>
<td>{{ person.eyes }}</td>
<td>{{ person.age }}</td>
</tr>
</table>
</div>Run Code Online (Sandbox Code Playgroud)
小智 1
从 Vue.js 版本0.12.11开始,可以通过以下方式实现:
<li v-repeat="user in users | filterBy searchText in 'name' 'phone'"></li>
Run Code Online (Sandbox Code Playgroud)
请务必查看官方指南:http: //vuejs.org/api/#orderBy
| 归档时间: |
|
| 查看次数: |
8501 次 |
| 最近记录: |