首页 > 解决方案 > friend.toLowerCase 不是函数。应用离子的搜索功能时出错

问题描述

我收到此错误“friend.toLowerCase”不是函数。应用 ionic 的 searc 函数时出错。在我的程序中唯一不同的是,我不仅有一个 JSON 项目列表,而是一个每个项目有 5 个项目的列表,比如friend.name,friend.status等. 我认为该错误可能是由于名称混淆引起的。但是我没有发现错误。

HTML

<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);
            })
          }
        }

标签: jsonangulartypescriptionic-frameworkionic3

解决方案


问题是因为函数 toLowerCase() 没有朋友对象,我猜你需要,

 this.friendsList = this.friendsList.filter((friend) => {
    return (friend.name.toLowerCase().indexOf(val.toLowerCase()) > -1);
 })

推荐阅读