friend.toLowerCase 不是函数。应用离子的搜索功能时出错
Posted
技术标签:
【中文标题】friend.toLowerCase 不是函数。应用离子的搜索功能时出错【英文标题】:friend.toLowerCase is not a func. error when applying ionic's searc function 【发布时间】:2019-01-06 13:27:27 【问题描述】:我收到此错误“friend.toLowerCase”不是函数。应用 ionic 的 searc 函数时出错。我的程序中唯一不同的是,我不仅有一个 JSON 项目列表,还有一个每个项目有 5 个项目的列表,例如 friend.name
、friend.status
等。我改变了一些东西,例如离子列表被称为项目,我的朋友列表。我认为该错误可能是由于名称混淆引起的。但我没有发现错误。
<ion-searchbar (ionInput)="getFriends($event)"</ion-searchbar>
...
<ion-item *ngFor="let friend of friendsList">
...
<h2>friend.name</h2>
...
TS
export class RankfriendsPage
friendsList;
constructor(public navCtrl: NavController, public navParams: NavParams)
this.initializefriendsList();
initializefriendsList()
this.friendsList = [
"name": "Alice", //list example
"status": "Online",
"img": "img/6.jpeg",
"img2": "img/33.jpeg",
"text": "+ADD"
,
];
getFriends(ev)
// Reset items back to all of the items
this.initializefriendsList();
// set val to the value of the ev target
var val = ev.target.value;
// if the value is an empty string don't filter the items
if (val && val.trim() != '')
this.friendsList = this.friendsList.filter((friend) =>
return (friend.toLowerCase().indexOf(val.toLowerCase()) > -1);
)
【问题讨论】:
【参考方案1】:friend =
"name": "Alice",
"status": "Online",
"img": "img/6.jpeg",
"img2": "img/33.jpeg",
"text": "+ADD"
如您所见,那里没有 toLowerCase
属性。
如果您想使用它,请在字符串上使用它,例如friend.name
。
【讨论】:
【参考方案2】:Friend 是一个对象,对象没有 toLowerCase() 属性。
您只能将 toLowerCase() 应用于字符串。
你可以使用friend.status.toLowerCase()、friend.name.toLowerCase()等。
【讨论】:
【参考方案3】:问题是因为函数 toLowerCase() 没有朋友对象,我猜你需要,
this.friendsList = this.friendsList.filter((friend) =>
return (friend.name.toLowerCase().indexOf(val.toLowerCase()) > -1);
)
【讨论】:
以上是关于friend.toLowerCase 不是函数。应用离子的搜索功能时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何解释 Excel 数字格式字符串以确定值是不是应由 DateTime.FromOADate 解析