关于javascript:添加图标到angular材质输入

Add icon to angular material input

我正在尝试使用 Angular Material 向我的输入搜索栏添加一个搜索图标:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    <section class="sidebar control-sidebar-dark" id="leftMenu">
       
            <!–  need to disable overflowx somehow cuz of menu –>
            <mdtabs mdcentertabs id="menuTabs" mddynamicheight="true" mdselected="selectedIndex">

                <mdtab label="<i class=’fa fa-search’>" ngif="handleResize()" searchFocus>
                    <mdcontent class="control-sidebar-dark" ngstyle="{‘height’ : menuHeight}">
                        <!– search Menu –>
                       
                           
                                <form action="javascript:void(0)" method="get" class="sidebar-form" id="searchForm">
                                   
                                    <mdcontent mdtheme="docs-dark">
                                        <mdinputcontainer style="padding-bottom: 5px;">
                                            <label>{{isEnglish ? ‘Search…’ : ‘Recherche…’}}</label>
                                            <input ngmodel="searchInput" id="sInput" ngchange="filterCartoList(searchInput)" myenter="filterCartoList(searchInput)">
                                        </mdinputcontainer>
                                    </mdcontent>
                                   

                                </form>

当我尝试使用我们可以在此处看到的图标重现示例时:http://codepen.io/anon/pen/rOxMdR,我遇到了样式问题,并且没有任何工作正常。

知道如何简单地将搜索图标添加到现有输入中吗?


当您使用 angular-material-designfont-awesome-icon 时,使用 <md-icon> 作为具有 md-font-icon 属性的元素。

并使用 class=”md-icon-float”md-inout-container.

打工仔

改变这个:

1
2
3
4
5
6
<mdcontent mdtheme="docs-dark">
    <mdinputcontainer style="padding-bottom: 5px;">
        <label>{{isEnglish ? ‘Search…’ : ‘Recherche…’}}</label>
        <input ngmodel="searchInput" id="sInput" ngchange="filterCartoList(searchInput)" myenter="filterCartoList(searchInput)">
    </mdinputcontainer>
</mdcontent>

收件人:

1
2
3
4
5
6
7
<mdcontent mdtheme="docs-dark">
    <mdinputcontainer class="md-icon-float">
        <label>{{isEnglish ? ‘Search…’ : ‘Recherche…’}}</label>
        <mdicon mdfonticon="fa fa-search"></mdicon>
        <input ngmodel="searchInput" id="sInput" ngchange="filterCartoList(searchInput)" myenter="filterCartoList(searchInput)">
    </mdinputcontainer>
</mdcontent>


这个问题很老了,但我今天早上刚遇到同样的问题,@gaurav 的答案与 OP 在此链接中寻找的不同:https://material.angularjs.org /latest/#/demo/material.components.input

如果您打开 Chrome 开发者控制台,您可以检查该元素并看到编写演示代码的人正在使用自定义类来处理底部图标部分中电子邮件输入的图标行为。我基本上复制了该行为以达到相同的预期效果。

HTML:

1
2
3
4
5
6
7
8
<mdinputcontainer class="md-block md-icon-left">
    <mdicon class="form-icon">lock_outline</mdicon>
    <label>Password</label>
    <input
        type="password" ngmodel="user.password" name="password"
        ngrequired="true"
        ngkeyup="$event.keyCode == 13 && loginForm.$valid && login()"/>
</mdinputcontainer>

CSS:

1
2
3
4
/* Angular extension */
mdinputcontainer.mdinputinvalid > mdicon.formicon {
  color: #B71C1C;
}

需要注意的一点是,我必须将”md-icon-left”类添加到我的 md-container 中,否则图标会堆叠在输入的顶部。我在我的项目中使用 angular material v1.1.0 和 angular js v1.5.5。我希望这个答案可以帮助其他任何希望实现与 Angular Material 演示中相同的行为的人。


原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269142.html

(0)
上一篇 2022年6月20日
下一篇 2022年6月20日

相关推荐

发表回复

登录后才能评论