- Angular Material 教程
- Angular Material - 首頁
- Angular Material - 概述
- 環境搭建
- Angular Material - 自動完成
- Angular Material - 底部選單
- Angular Material - 卡片
- Angular Material - 元件
- Angular Material - 佈局
- Angular Material - 輸入控制元件
- Angular Material - 圖示
- Angular Material - 網格
- Angular Material - 側邊導航欄
- Angular Material - 浮動操作按鈕 (FAB) 速度撥號
- Angular Material - 副標題
- Angular Material - 滑動
- Angular Material - 開關
- Angular Material - 主題
- Angular Material - 提示資訊
- Angular Material - 排版
- Angular Material - 虛擬滾動
- Angular Material - 白框
- Angular Material 有用資源
- Angular Material - 快速指南
- Angular Material - 有用資源
- Angular Material - 討論
Angular Material - 輸入控制元件
md-input-container 是一個 Angular 指令,它是一個容器元件,包含任何<input> 或 <textarea> 元素作為子元素。它還支援使用標準 ng-messages 指令進行錯誤處理,並使用 ngEnter/ngLeave 事件或 ngShow/ngHide 事件為訊息新增動畫。
屬性
下表列出了md-input-container的不同屬性的引數和描述。
| 序號 | 引數和描述 |
|---|---|
| 1 | md-maxlength 此輸入允許的最大字元數。如果指定了此屬性,則輸入下方會顯示一個字元計數器。md-maxlength 的目的是顯示最大長度計數器文字。如果您不想要計數器文字,而只需要“簡單”驗證,可以使用“simple” ng-maxlength 或 maxlength 屬性。 |
| 2 | aria-label 如果沒有標籤,則需要 aria-label。如果沒有標籤,控制檯將記錄警告訊息。 |
| 3 | placeholder 當沒有標籤時,可以使用 aria-label 的替代方法。佔位符文字將複製到 aria-label 屬性。 |
| 4 | md-no-autogrow 存在此屬性時,文字區域不會自動增長。 |
| 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>
結果
驗證結果。
廣告