- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个输入字段,通过“描述”属性名称过滤使用 ngFor 生成的列表。该列表是一个像这样的对象:
[
{ code: 001, description: "Product 001 description" },
{ code: 002, description: "Product 002 description" },
{ code: 003, description: "Product 003 description" },
{ code: 004, description: "Product 004 description" }
]
我的功能:
seachFilterData(e) {
const query = e;
this.filterData.map((items) => Object.values(items).forEach(value => {
return Object.keys(value).filter(k => {
if (value.toLowerCase().includes(query.toLowerCase())) {
return items;
}
});
}));
}
HTML:
<input type="text" class="tokenfield-search" placeholder="search" [ngModel]="searchFilter" value="" (ngModelChange)="seachFilterData($event)">
<div class="tokenfield-list">
<ul>
<li *ngFor="let data of filterData | keys">
当我console.log(items)
时,它正在过滤,但列表不会改变。有什么想法吗?
最佳答案
如果您知道只需要按描述进行过滤,则可以仅在该字段上与 indexOf
进行比较,并根据需要进行过滤。
seachFilterData(e) {
const query = e;
// convert to lowercase to do case insensitive search
const query = e.toLowerCase();
this.filterData = this.filterData.filter(item => item.description.toLowerCase().indexOf(query) !== -1);
}
如果您的查询是产品 001
,您的过滤列表 (filterData
) 将为
[
{ code: 001, description: "Product 001 description" }
]
关于javascript - 如何使用 ngModelChange 过滤 Angular 4 中的对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47519258/
我正在尝试调用 ngModelChange 事件,但仅当我调用它时才使用 this.ngModelChange.emit(data) 现在,每当我按下键盘上的某个键以及使用上一个命令调用它时,它都会被
是否有一个事件在模型更改之后触发,而不是在更改之前触发?每次设置复选框时,我都需要检查是否可以启用下一步按钮。所以我循环遍历我的列表以检查任何被选中的对象。然而,这些值首先在 ModelChange
是否有一个事件在模型更改之后触发,而不是在更改之前触发?每次设置复选框时,我都需要检查是否可以启用下一步按钮。所以我循环遍历我的列表以检查任何被选中的对象。然而,这些值首先在 ModelChange
在发布这个 fiddle 之前,我检查了类似的问题。得到的答案很少,但所有这些都不是表单元素。 http://jsfiddle.net/dgQAd/ 我有以下问题: 1) 文本框绑定(bind)到模型
我只想在模糊事件上调用 updateDetail(),并且只有在模型发生变化时才调用。所以现在,如果用户在不进行更改的情况下模糊(制表)出输入框,它将调用 updateDetail() 并执行不必要的
有没有办法在 ngModelChange 上获取字段的前一个(最后一个)值?我所拥有的是这样的 HTML 处理程序 private textChanged(event) { console.
我有一个(非常)简单的 Angular2 组件,只有一个文本字段。我希望每次对此字段进行任何更改时,控制台都会记录该字段的值。 IE 如果有人输入“ABCD”,控制台应该记录:“A”、“AB”、“AB
在我的 Angular 8 组件中,我向下拉控件添加了双向绑定(bind)。 观点 {{t?.code}} 组件代码 export class AppComponent implements
我有一个输入字段,用户可以在其中输入某物的比率。 当用户输入一个值时,我希望在四舍五入后显示该值,然后将更新后的值存储在 ts 文件中的支持模型上。 使用 Angular 管道对此效果不佳,因为单向管
我使用 angular 2 多选下拉菜单,它按照我预期的方式执行。 我对下面提到的用法有疑问: 为什么两次使用ngModelChange都没有报错,从那以后,我已经将 ngModelchange 与
为 ngModelChange 属性绑定(bind)添加延迟的最佳方法是什么? 示例:我想在输入字段中调用函数: 每次输入变化时模型都会更新。 func() 刚刚被调用,尽管模型已更改,它应该可以在
我在用户键入时更新输入时遇到问题。 我需要从用户那里得到一个如下所示的代码:354e-fab4(2 个字母数字组,每组 4 个字符,用“-”分隔)。用户不应键入“-”,它会自动插入。当用户键入与用于验
我有 2 个输入,我在其中输入值并将其连接到新的输入中 这是 HTML 代码 {{l("FirstName")}}
我想知道是否可以使用 ngModelChange 来设置元素的样式。我尝试了以下但不起作用 2 ? [style.border-color]='#ff4d4d' : [style.border-co
当我使用 Ctrl.A 清除输入字段中的所有值或将值粘贴到其中时,(ngModelChange) 事件不会触发。 function Controller() { function IsEle
这是我的代码: import { Component } from '@angular/core'; import { Validators, FormGroup, FormArray, FormBu
这个问题是从辅助功能的 Angular 出发的。我有一个如下所示的选择语句并使用 Angular 2。它在使用鼠标时可以正常工作。使用键盘向下箭头键时,我需要能够选择一个选项并按回车键以便进行操作。我
我有一个用 Angular6 编写的复杂计算器应用程序,它根据 ngModelChange 事件中的多个输入计算结果,并直接在图表中显示这些结果。计算在服务器端完成。现在我想添加一个去抖动时间,这样服
我使用 Angular 4.2.4 和 Angular Material 2.0.0.beta.12 并具有以下表单字段: 在 Firefox 和 Chrome 中,一切正常,如果我更改
我是 Angular 的新手,正在学习 Angular 6。我了解 ngModel。但是当我尝试使用 ngModelChange 时,出现了一些问题。 我有一个html元素HTML typescri
我是一名优秀的程序员,十分优秀!