Component.ts
branches: any = [];
branchName: string; // any
ngOnInit(): void {
// this.refreshBranchList();
this.service.getBranchList().subscribe((response: any) => {
this.branches = response;
});
}
Search() {
if (this.branchName !== "") {
this.branches = this.branches.filter((res: { branchName: string; }) => {
return res.branchName.toLocaleLowerCase().match(this.branchName.toLocaleLowerCase());
})
} else if (this.branchName == "") {
this.ngOnInit();
}
}
Component.html
<div class="d-flex float-right">
<input type="text" class="form-control" placeholder="Search here" [(ngModel)]="branchName" (ngModelChange)="Search()">
</div>
它正在按预期搜索值。但是控制台中有一个我不熟悉的错误。有什么遗漏的请告诉我。
答案 0 :(得分:2)
尝试改变这一点
new_list
到这里
return res.branchName.toLocaleLowerCase().match(this.branchName.toLocaleLowerCase());
答案 1 :(得分:1)
就像 Nik 在他的评论中所说的,res.branchName 或 this.branchName 都是未定义的。
因此,如果您的对象未定义,请定义您的对象,或者使用 ?-operator for res?.branchName?.toLocaleLowerCase() 和 this.branchName?.toLocaleLowerCase(),如果视图在您的属性分配之前呈现价值。
答案 2 :(得分:1)
您必须验证 <html>
<script src="jquery.min.js"></script>
<script>
var validatstatus;
function validcheck(currntcheck) {
validatstatus = true;
$(currntcheck).closest('div').find('input,div[contenteditable="true"]').each(function () {
if ($(this).val().trim() == '' && $(this).is("input") && $(this).attr('required')) {
alert($(this).attr('data-required'));
$(this).focus();
validatstatus = false;
return false;
}
else if ($(this).text().trim() == '' && $(this).is('div') && $(this).attr('required')) {
alert($(this).attr('data-required'));
$(this).focus();
validatstatus = false;
return false;
}
})
}
$(document).ready(function () {
$('#btnis').click(function () {
validcheck(this);
if (validatstatus == true) { alert('success'); }
})
})
</script>
<body>
<div>
<input type="text" required="true" data-required="please fill Name" />
<input type="text" />
<input type="text" required="true" data-required="please fill address" />
<div contenteditable="true" style="border:1px solid gray; width:150px;" required="true"
data-required="please fill message"></div>
<input type="button" value="check validation" id="btnis" />
</div>
</body>
</html>
的值
试试这个方法:
this.branchName