【发布时间】:2017-06-08 04:00:49
【问题描述】:
我是 angular2 的新开发者,我想在 json 对象数组中进行全局搜索。比如这个数组:
invoiceList =
[
{
invoiceNumber: 1234,
invoiceSupplier: "test",
invoiceStatus: "Import error",
invoiceCategory: "invoice with GR",
date: "22/01/2017",
amount : 134527
},
...
];
这里的问题和困难在于:
- 我只想根据某些值(例如:状态、供应商名称、编号...)进行搜索并显示其他字段(例如日期、净金额等)。
- 我想根据某些值(例如:数量、供应商、日期和金额)按最终结果订购。而且我不知道如何在 angular2 中做到这一点。
- 最后,我想在 angular2 中做一个“等效”的 ng-show 吗?我的意思是我只想在我们按下搜索按钮时显示表格,如果我们点击取消,它将删除它。
我知道在 angular 1 中这样做很简单,我们可以使用过滤器、'orderBy' 和类似的东西,但显然在 angular2 中,我们不能这样做,我非常困惑。你能帮我解决这个问题吗???
这是我的组件代码:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-search',
templateUrl: './search.component.html'
})
export class SearchComponent implements OnInit {
invoiceList = [{invoiceNumber: 1234, invoiceSupplier : "test", invoiceStatus : "Import error", invoiceCategory: "invoice with GR", date : "22/01/2017", amount : 134527},
{invoiceNumber: 15672, invoiceSupplier : "test11", invoiceStatus : "Import error", invoiceCategory: "invoice without PO", date : "02/01/2017", amount : 134.3},
{invoiceNumber: 99863, invoiceSupplier : "test22", invoiceStatus : "Other Document", invoiceCategory: "invoice with GR", date : "10/12/2016", amount : 189},
{invoiceNumber: 24561, invoiceSupplier : "test50", invoiceStatus : "Other Document", invoiceCategory: "invoice without PO", date : "15/01/2017", amount : -134527},
];
constructor() { }
ngOnInit() {
}
}
还有我的html代码:
<form>
<table>
<tr>
<td>Invoice Number :</td>
<td>
<input name="invoiceNumber">
</td>
<td>Invoice Supplier Name :</td>
<td>
<input name="invoiceSupplier">
</td>
</tr>
<tr>
<td>Invoice Status :</td>
<td>
<select name="invoiceStatus">
<option></option>
<option> Import error </option>
<option> Invoice control required </option>
<option>Rejected from SAP </option>
<option>Other Document </option>
<option> Invoice created manually in SAP </option>
<option>To be integrated in SAP </option>
<option> Integrated in SAP </option>
<option> Booked in SAP </option>
<option>Paid in SAP</option>
</select>
</td>
<td>Invoice Category :</td>
<td>
<select name="invoiceCategory">
<option></option>
<option>Invoice with GR</option>
<option>Invoice without GR</option>
<option>Invoice without PO</option>
</select>
</td>
</tr>
<tr>
<td>Order :</td>
<td>
<select name="order">
<option> Number </option>
<option> Supplier </option>
<option> Date </option>
<option> Net Amount </option>
</select>
</td>
</tr>
<tr>
<td>
<button type="submit">Search</button>
</td>
<td>
<div class="detail">
<button type="reset">Cancel</button>
</div>
</td>
</tr>
</table>
</form>
我知道到目前为止我什么都没做,但我对 angular2 真的很陌生,我真的很困惑。你能帮我至少在组件部分吗???
提前谢谢你!
【问题讨论】:
-
换句话说,我在这里要做的是根据 3 个值(3 个“变量”)进行 AND 搜索,但我不知道该怎么做......
-
这个问题看起来与this question 非常相似。尝试使用答案之一中的示例调整您的代码。 (这是我在另一个帖子中提出的答案:stackoverflow.com/a/41738576/1471485)
标签: angular typescript angular2-forms