Angular Material 输入


The md 输入容器 ,一个 Angular 指令,是一个容器组件,它包含任何 <输入> or <文本区域> 小时候的元素。它还支持使用标准 ng-messages 指令进行错误处理,并使用 ngEnter/ngLeave 事件或 ngShow/ngHide 事件对消息进行动画处理。

属性


下表列出了不同属性的参数和说明 md 输入容器 .

序号 参数及说明
1

md-最大长度

此输入中允许的最大字符数。如果指定了此项,则字符计数器将显示在输入下方。 md-maxlength 的目的是显示最大长度计数器文本。如果你不想要计数器文本并且只需要“普通”验证,则可以使用“简单”ng-maxlength 或 maxlength 属性。

2

咏叹调标签

没有标签时需要 Aria-label。如果标签不存在,则会在控制台中记录一条警告消息。

3

占位符

当标签不存在时使用 aria-label 的另一种方法。占位符文本被复制到 aria-label 属性。

4

md-no-autogrow

当存在时,textareas 不会自动增长。

5

md-检测隐藏

如果存在,文本区域将在隐藏后显示时适当调整大小。出于性能原因,默认情况下这是关闭的,因为它保证了每个摘要周期的回流。

例子


以下示例显示了 md-input-container 指令的使用以及输入的使用。

am_inputs.htm

<html lang = "en">
    <head>
        <link rel = "stylesheet"
            href = "https:// ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
        <script src = "https:// ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js">
        <script src = "https:// ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js">
        <script src = "https:// ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js">
        <script src = "https:// ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js">
        <script src = "https:// ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js">
        <link rel = "stylesheet" href = "https:// fonts.googleapis.com/icon?family=Material+Icons">
        <style>
        
        </style>
        <script language = "javascript">
            angular
                .module('firstApplication', ['ngMaterial'])
                .controller('inputController', inputController);

            function inputController ($scope) {
                $scope.project = {
                    comments: 'Comments',
                };
            }
        </script>
    </head>
   
    <body ng-app = "firstApplication">
        <div id = "inputContainer" class = "inputDemo"
            ng-controller = "inputController as ctrl" ng-cloak>
            <md-content layout-padding>
                <form name = "projectForm">
               
                    <md-input-container class = "md-block">
                        <label>User Name</label>
                        <input required name = "userName" ng-model = "project.userName">
                        <div ng-messages = "projectForm.userName.$error">
                            <div ng-message = "required">This is required.</div>
                        </div>
                    </md-input-container>
               
                    <md-input-container class = "md-block">
                        <label>Email</label>
                        <input required type = "email" name = "userEmail"
                            ng-model = "project.userEmail"
                            minlength = "10" maxlength = "100" ng-pattern = "/^.+@.+\..+$/" />
                        <div ng-messages = "projectForm.userEmail.$error" role = "alert">
                            <div ng-message-exp = "['required', 'minlength', 'maxlength',
                                'pattern']">
                                Your email must be between 10 and 100 characters long and should
                                be a valid email address.
                            </div>
                        </div>
                    </md-input-container>
               
                    <md-input-container class = "md-block">
                        <label>Comments</label>
                        <input md-maxlength = "300" required name = "comments"
                            ng-model = "project.comments">
                        <div ng-messages = "projectForm.comments.$error">
                            <div ng-message = "required">This is required.</div>
                            <div ng-message = "md-maxlength">The comments has to be less
                                than 300 characters long.</div>
                        </div>
                    </md-input-container>
               
                </form>
            </md-content>
        </div>
    </body>
</html>

Result


验证结果。