- 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 - 浮动操作按钮快捷菜单
- 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-chips是一个 Angular 指令,用作名为“芯片”的特殊组件,可用于表示少量信息,例如联系人、标签等。可以使用自定义模板来呈现芯片的内容。这可以通过指定一个包含自定义内容作为 md-chips 子元素的md-chip-template元素来实现。
属性
下表列出了md-chips的不同属性的参数和说明。
序号 | 参数及说明 |
---|---|
1 | * ng-model 可赋值的 Angular 表达式,用于数据绑定。 |
2 | * ng-model 用于绑定项目列表的模型。 |
3 | * md-transform-chip
形式为 myFunction($chip) 的表达式,调用时预期返回以下值之一:
|
4 | * md-require-match 如果为 true,并且芯片模板包含自动完成功能,则只允许选择预定义的芯片(即不能添加新的芯片)。 |
5 | placeholder 将转发给输入的占位符文本。 |
6 | secondary-placeholder 将转发给输入的占位符文本,当列表中至少有一个项目时显示。 |
7 | readonly 禁用列表操作(删除或添加列表项),隐藏输入和删除按钮。 |
8 | md-on-add 添加芯片时将调用的表达式。 |
9 | md-on-remove 删除芯片时将调用的表达式。 |
10 | md-on-select 选择芯片时将调用的表达式。 |
11 | delete-hint 屏幕阅读器读取的字符串,指示用户按 Delete 键将删除芯片。 |
12 | delete-button-label 删除按钮的标签。也隐藏并由屏幕阅读器读取。 |
13 | md-separator-keys 用于分隔芯片的键代码数组。 |
示例
以下示例演示了md-chips指令和 Angular 芯片的使用。
am_chips.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> .closeButton { position: relative; height: 24px; width: 24px; line-height: 30px; text-align: center; background: rgba(0, 0, 0, 0.3); border-radius: 50%; border: none; box-shadow: none; padding: 0; margin: 3px; transition: background 0.15s linear; display: block; } </style> <script language = "javascript"> angular .module('firstApplication', ['ngMaterial']) .controller('chipController', chipController); function chipController ($scope) { var self = this; self.readonly = false; // Lists of fruit names and Vegetable objects self.fruitNames = ['Apple', 'Banana', 'Orange']; self.roFruitNames = angular.copy(self.fruitNames); self.tags = []; self.vegObjs = [ { 'name' : 'Broccoli', 'type' : 'Brassica' }, { 'name' : 'Cabbage', 'type' : 'Brassica' }, { 'name' : 'Carrot', 'type' : 'Umbelliferous' } ]; self.newVeg = function(chip) { return { name: chip, type: 'unknown' }; }; } </script> </head> <body ng-app = "firstApplication"> <div ng-controller = "chipController as ctrl" layout = "column" ng-cloak> <md-chips ng-model = "ctrl.fruitNames" readonly = "ctrl.readonly"> </md-chips> <md-chips class = "custom-chips" ng-model = "ctrl.vegObjs" readonly = "ctrl.readonly" md-transform-chip = "ctrl.newVeg($chip)"> <md-chip-template> <span> <strong>[{{$index}}] {{$chip.name}}</strong> <em>({{$chip.type}})</em> </span> </md-chip-template> <button md-chip-remove class = "md-primary closeButton"> <md-icon md-svg-icon = "md-close"></md-icon> </button> </md-chips> <br/> <md-checkbox ng-model = "ctrl.readonly">Readonly</md-checkbox> </div> </body> </html>
结果
验证结果。
angular_material_widgets.htm
广告