Как искать, используя теги @ и # при вводе с использованием ionic 4? - PullRequest
0 голосов
/ 04 июля 2019

Я делаю пост, похожий на пост в Facebook, когда я публикую данные в посте, когда набираю «@» для поиска данных, которые возвращают имена пользователей, и если я набираю «#», сначала вызываю API и возвращаю доступные теги вionic 4.

Вот что я сделал:

page.html

  <ion-item>
    <ion-textarea rows="3" (ionInput)="searchPeople($event)" cols="20" formControlName="comment"
      placeholder="Tweet your reply" spellcheck="true" autoComplete="true" autocorrect="true" autofocus required>
    </ion-textarea>
  </ion-item>

page.ts

searchPeople(ev: any) {
  // set val to the value of the searchbar
  let val = ev.target.value;
  let firstchar = val.charAt(0);

  if (firstchar = "@") {
    console.log("search people");
  }
  else if (firstchar = "#") {
    console.log("hash tag");
  } else {
   console.log("error");
  }
}

Мне понравилось, ноэто не работает ...

Ответы [ 2 ]

2 голосов
/ 04 июля 2019

В HTML:

Изменить (ionInput)="searchPeople($event)" на (input)="searchPeople($event)" ..

А в

TS: Изменить функцию, как,

if (firstchar === "@") {
    console.log("search people");
  }
  else if (firstchar === "#") {
    console.log("hash tag");
  } else {
   console.log("error");
  }

Здесь firstchar необходимо проверить значение и ему не следует присваивать значение.

Рабочий пример: https://stackblitz.com/edit/ionic-basic-form-1bjibt

1 голос
/ 04 июля 2019

рабочий пример

page.html

 <ion-item>
    <ion-textarea rows="3"  (input)="searchPeople($event.target.value)"
      placeholder="Tweet your reply" spellcheck="true" autoComplete="true" autocorrect="true" autofocus required>
    </ion-textarea>
  </ion-item>

page.ts

searchPeople(searchValue : string ) {  
console.log(searchValue);
let firstchar === searchValue;

  if (firstchar === "@") {
    console.log("search people");
  }
  else if (firstchar === "#") {
    console.log("hash tag");
  } else {
   console.log("error");
  }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...