AngularMaterial-入力

ザ・ md-input-container、Angularディレクティブは、を含むコンテナコンポーネントです。 <input> または <textarea>子としての要素。また、標準のng-messagesディレクティブを使用したエラー処理をサポートし、ngEnter / ngLeaveイベントまたはngShow / ngHideイベントを使用してメッセージをアニメーション化します。

属性

次の表に、のさまざまな属性のパラメータと説明を示します。 md-input-container

シニア番号 パラメータと説明
1

md-maxlength

この入力で許可される最大文字数。これを指定すると、入力の下に文字カウンターが表示されます。md-maxlengthの目的は、最大長のカウンターテキストを表示することです。カウンターテキストが不要で、「プレーン」検証のみが必要な場合は、「単純な」ng-maxlengthまたはmaxlength属性を使用できます。

2

aria-label

ラベルが存在しない場合は、Aria-labelが必要です。ラベルが存在しない場合、警告メッセージがコンソールに記録されます。

3

placeholder

ラベルが存在しない場合にaria-labelを使用するための代替アプローチ。プレースホルダーテキストがaria-label属性にコピーされます。

4

md-no-autogrow

存在する場合、textareasは自動的に拡大しません。

5

md-detect-hidden

存在する場合、テキスト領域は非表示にされた後に表示されたときに適切なサイズになります。これは、ダイジェストサイクルごとにリフローが保証されるため、パフォーマンス上の理由からデフォルトでオフになっています。

次の例は、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>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
      <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>

結果

結果を確認します。