- 离子基础教程
- 离子 - 主页
- 离子 - 概述
- Ionic - 环境设置
- Ionic CSS 组件
- 离子 - 颜色
- 离子 - 内容
- 离子 - 标头
- 离子 - 页脚
- 离子 - 按钮
- Ionic - 列表
- 离子 - 卡片
- 离子 - 形式
- 离子 - 切换
- Ionic - 复选框
- Ionic - 单选按钮
- 离子 - 范围
- 离子 - 选择
- Ionic - 选项卡
- 离子 - 网格
- 离子 - 图标
- 离子 - 填充
- Ionic JavaScript 组件
- Ionic - JS 操作表
- Ionic - JS 背景
- Ionic - JS 内容
- Ionic - JS 表单
- Ionic - JS 事件
- Ionic - JS 标头
- Ionic - JS 页脚
- Ionic - JS 键盘
- Ionic - JS 列表
- Ionic - JS 加载
- Ionic - JS 模态
- Ionic - JS 导航
- Ionic - JS 弹出窗口
- Ionic - JS 弹出窗口
- Ionic - JS 滚动
- Ionic - JS 侧边菜单
- Ionic - JS 幻灯片盒
- Ionic - JS 选项卡
- 离子先进概念
- Ionic - Cordova 集成
- 离子 - AdMob
- 离子 - 相机
- 离子 - Facebook
- Ionic - 在应用程序浏览器中
- Ionic - 原生音频
- 离子 - 地理定位
- 离子 - 媒体
- Ionic - 启动画面
- 离子有用资源
- 离子 - 快速指南
- 离子 - 有用的资源
- 离子 - 讨论
Ionic - Javascript 列表
我们已经在前面的章节中讨论了 Ionic CSS 列表元素。在本章中,我们将向您展示 JavaScript 列表。它们允许我们使用一些新功能,如滑动、拖动和删除。
使用列表
用于显示列表和项目的指令是ion-list和ion-item,如下所示。
<ion-list> <ion-item> Item 1 </ion-item> <ion-item> Item 2 </ion-item> <ion-item> Item 3 </ion-item> </ion-list>
上面的代码将产生以下屏幕 -
删除按钮
可以使用ion-delete-button指令添加此按钮。您可以使用任何您想要的图标类。由于我们并不总是希望显示删除按钮,因为用户可能会意外点击它并触发删除过程,因此我们可以将 show -delete属性添加到ion-list并将其与ng-model连接。
在下面的示例中,我们将使用ion-toggle作为模型。当切换开关处于删除状态时,按钮将出现在我们的列表项上。
<ion-list show-delete = "showDelete1"> <ion-item> <ion-delete-button class = "ion-minus-circled"></ion-delete-button> Item 1 </ion-item> <ion-item> <ion-delete-button class = "ion-minus-circled"></ion-delete-button> Item 2 </ion-item> </ion-list> <ion-toggle ng-model = "showDelete2"> Show Delete 2 </ion-toggle>
上面的代码将产生以下屏幕 -
重新排序按钮
重新排序按钮的 Ionic 指令是ion-reorder-button。我们创建的元素有一个on-reorder属性,每当用户拖动该元素时,该属性就会从我们的控制器触发该函数。
<ion-list show-reorder = "true"> <ion-item ng-repeat = "item in items"> Item {{item.id}} <ion-reorder-button class = "ion-navicon" on-reorder = "moveItem(item, $fromIndex, $toIndex)"></ion-reorder-button> </ion-item> </ion-list> $scope.items = [ {id: 1}, {id: 2}, {id: 3}, {id: 4} ]; $scope.moveItem = function(item, fromIndex, toIndex) { $scope.items.splice(fromIndex, 1); $scope.items.splice(toIndex, 0, item); };
上面的代码将产生以下屏幕 -
当我们单击右侧的图标时,我们可以拖动元素并将其移动到列表中的其他位置。
选项按钮
选项按钮是使用ion-option-button指令创建的。当列表项向左滑动时会显示这些按钮,我们可以通过向右滑动项目元素来再次隐藏它。
您可以在以下示例中看到有两个隐藏的按钮。
<ion-list> <ion-item> Item with two buttons... <ion-option-button class = "button-positive">Button 1</ion-option-button> <ion-option-button class = "button-assertive">Button 2</ion-option-button> </ion-item> </ion-list>
上面的代码将产生以下屏幕 -
当我们向左滑动 item 元素时,文本将向左移动,按钮将出现在右侧。
其他功能
collection -repeat函数是AngularJS ng-repeat 指令的更新版本。它只会在屏幕上呈现可见元素,其余部分将在您滚动时更新。当您处理大型列表时,这是一个重要的性能改进。该指令可以与item-width和item-height属性结合使用,以进一步优化列表项。
还有一些其他有用的属性可用于处理列表中的图像。item -render-buffer函数表示在可见项之后加载的项数。该值越高,预加载的项目就越多。强制刷新图像功能将修复滚动时图像来源的问题。这两个类都会对性能产生负面影响。