Angular-material-inputs
角度材料-入力
Angularディレクティブである md-input-container は、 <input> または <textarea> 要素を子として含むコンテナコンポーネントです。 また、標準のng-messagesディレクティブを使用したエラー処理をサポートし、ngEnter/ngLeaveイベントまたはngShow/ngHideイベントを使用してメッセージをアニメーション化します。
属性
次の表に、 md-input-container のさまざまな属性のパラメーターと説明を示します。
Sr.No | Parameter & Description |
---|---|
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_*
<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>
結果
結果を確認します。