Angular 6 中的可扩展搜索栏

ved*_*har 1 typescript angular2-forms angular angular5 angular6

我正在使用 Angular 6,我想为我在下面编写的代码做可扩展的搜索栏。

我的代码

现在我的问题是我想在聚焦时在搜索框中输入值后停止转换。如果搜索栏为空,则会发生转换。请帮忙。

Eli*_*seo 5

你必须使用 ngClass,我在单击时添加“filled”类,如果模糊且没有值则删除它

<div class="right">
  <form id="search">
    <input #search type="search" placeholder="Search" [ngClass]="{'filled':filled}" 
         (click)="filled=true" (blur)="filled=search.value?true:false"> 
  </form>
</div>

//remove in your css
//#search input[type=search]
//And add (is the same adding .filled)
#search input[type=search].filled
{
  width: 400px;
  padding-left: 32px;
  color: #4a83c0;
  background-color: #fff;
  cursor: auto;

}
Run Code Online (Sandbox Code Playgroud)

更新一个关闭按钮可以像

<div class="right">
  <form id="search">
    <input #search type="search" [placeholder]="filled?'Search':''" [ngClass]="{'filled':filled}" 
         (click)="filled=!filled" (blur)="filled=search.value?true:false">
         <button class="close" *ngIf="filled" (click)="search.value='';filled=false">X</button>
  </form>
</div>
.close
{
  z-index:10;
  margin-left:-3rem;
  margin-right:1rem;
}
Run Code Online (Sandbox Code Playgroud)