代码之家  ›  专栏  ›  技术社区  ›  vedankita kumbhar

角度6的可扩展搜索栏

  •  1
  • vedankita kumbhar  · 技术社区  · 6 年前

    我使用的是Angular6,我想做一个可扩展的搜索栏,我写了下面的代码。

    My Code

    2 回复  |  直到 6 年前
        1
  •  3
  •   Eliseo    6 年前

    你必须使用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;
    
    }
    

    关闭按钮可以是

    <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;
    }
    
        2
  •  1
  •   Nick    6 年前

    你可以把条件类放在你的搜索输入上,只有当它有一个非空的值时才存在,然后专门针对你的CSS。类似于:

    <input type="search" [class.has-value]="searchValue" placeholder="Search">

    input[type=search]:focus, input.has-value {
       ...
    }