如何在 AngularJS 材料设计中创建简单的搜索输入文本?

Posted

技术标签:

【中文标题】如何在 AngularJS 材料设计中创建简单的搜索输入文本?【英文标题】:How to create a simple search input text in AngularJS material design? 【发布时间】:2016-04-22 05:01:03 【问题描述】:

我正在寻找一些简单的方法来获得类似于 angular-mdl 中可用的可扩展搜索文本字段的方法,如下所示.. 这将在单击时添加一个搜索按钮,它将扩展到文本字段。

<!-- Expandable Textfield -->
<form action="#">
  <div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable">
    <label class="mdl-button mdl-js-button mdl-button--icon" for="sample6">
      <i class="material-icons">search</i>
    </label>
    <div class="mdl-textfield__expandable-holder">
      <input class="mdl-textfield__input" type="text" id="sample6">
      <label class="mdl-textfield__label" for="sample-expandable">Expandable Input</label>
    </div>
  </div>
</form>

我的要求是当用户单击时,卡片标题中的这样一个搜索按钮会向右对齐,它应该展开以接受输入。我需要在 Angular-Material 中进行。

任何输入或帮助..! 谢谢。

【问题讨论】:

【参考方案1】:

我也在寻找一些在 Angular 中使用 Material 进行可扩展搜索的示例,并在 Codepen 中找到了此代码,但不确定它是否正是您要查找的内容,它会打开一个带有后退按钮的全长输入...

http://codepen.io/kyleledbetter/pen/gbQOaV

工具栏的 html 是这样的:

<md-toolbar ng-show="!showSearch">
  <div class="md-toolbar-tools">
    <md-button ng-click="toggleSidenav('left')" hide-gt-md aria-label="Menu">
      <ng-md-icon icon="menu"></ng-md-icon>
    </md-button>
    <h3>
        Dashboard
      </h3>
    <span flex></span>
    <md-button aria-label="Search" ng-click="showSearch = !showSearch">
      <ng-md-icon icon="search"></ng-md-icon>
    </md-button>
    <md-button aria-label="Open Settings" ng-click="showListBottomSheet($event)">
      <ng-md-icon icon="more_vert"></ng-md-icon>
    </md-button>
  </div>
</md-toolbar>
<md-toolbar class="md-hue-1" ng-show="showSearch">
  <div class="md-toolbar-tools">
    <md-button ng-click="showSearch = !showSearch" aria-label="Back">
      <ng-md-icon icon="arrow_back"></ng-md-icon>
    </md-button>
    <h3 flex="10">
        Back
      </h3>
    <md-input-container md-theme="input" flex>
      <label>&nbsp;</label>
      <input ng-model="search.who" placeholder="enter search">
    </md-input-container>
    <md-button aria-label="Search" ng-click="showSearch = !showSearch">
      <ng-md-icon icon="search"></ng-md-icon>
    </md-button>
    <md-button aria-label="Open Settings" ng-click="showListBottomSheet($event)">
      <ng-md-icon icon="more_vert"></ng-md-icon>
    </md-button>
  </div>

</md-toolbar>

【讨论】:

【参考方案2】:

似乎没有干净的“原生”角度材质选项,所以我使用了来自“material design lite”库的one of the textfield options - expandable search button gif-demo

【讨论】:

以上是关于如何在 AngularJS 材料设计中创建简单的搜索输入文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android材料设计风格中创建按钮阴影

在 AngularJS 中创建一个简单的计时器

在 AngularJS 中创建一个简单的引导是/否确认或只是通知警报

如何在材料文档中创建 Snackbar?

如何在AngularJS中创建一个对话框,但只加载来自服务器的对话框内容

如何使用 Mongoose 在 AngularJS 中创建 PUT 函数