全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Ionic 2 实现列表滑动删除按钮的方法

在上篇文章给大家介绍了ionic中列表项增加和删除的实现方法,接下来通过本文给大家介绍Ionic 2 实现列表滑动删除按钮的方法,具体内容详情如下所示:

使用Ionic这种框架伟大的地方在于用户界面元素默认准备好了,意味着你可以设计更好的app而不需要很强的用户体检设计背景,而且让你可以更容易实现这些模式。

这篇教程将展示如何使用Ionic2添加一个简单的删除按钮到列表,当用户滑动列表项到左边的时候。这是一个处理删除列表数据时候常用的模式。本教程将涵盖创建这个滑动删除按钮所需要的一切。

删除例子

1.创建Ionic2应用

通过以下命令行语句创建新的Ionic2应用:

ionic start ionic2-delete blank --v2

这里我使用了–v2标志位,为了告诉Ionic命令行我们创建的是Ionic2项目。

2.准备列表数据

我们需要一些维护数据,因此要建立一些试验数据。创建我们项目的blank模版默认建立了一个Home组件,这个教程我们就在此基础上修改。

既然Ionic2还很新,我将这些步骤尽量阐述详细,下面我们看看app/home/home.js文件:

import {Page} from 'ionic/ionic'

* http://www.dotdy.com/

@Page({
 templateUrl: 'app/home/home.html',
})
export class HomePage {
 constructor() {}
}

constructor 方法在组件创建是执行,因此我们在这里准备试验数据。你可能已经注意到我们已经给这个组件定义了模版,随后将展示如何在模版中使用在这里添加的数据。

home.js 文件修改如下:

import {Page} from 'ionic/ionic'
@Page({
 templateUrl: 'app/home/home.html',
})
export class HomePage {
 constructor() {
 this.items = [
  {title: 'item1'},
  {title: 'item2'},
  {title: 'item3'},
  {title: 'item4'},
  {title: 'item5'},
  {title: 'item6'}
 ];
 }
}

现在我们有一些数据可以删除了。

3.修改主页(HOME)的模版

接下来我们编辑home.html来建立模版。现在的模版是包含一些创建<ion-card>的代码,而我们要用<ion-list>来代替:

修改 home.html如下:

<ion-navbar *navbar>
 <ion-title>
 Home
 </ion-title>
</ion-navbar>
<ion-content>
 <ion-list>
 <ion-item>
  I'm just a plain old item in a list...
 </ion-item>
 </ion-list>
</ion-content>

这只是创建了只有一个单项的列表,接着我们将添加滑动元素。

继续修改home.html如下:

<ion-navbar *navbar>
 <ion-title>
 Home
 </ion-title>
</ion-navbar>
<ion-content>
 <ion-list>
 <ion-item-sliding>
 <ion-item>
 Swipe me to the left
 </ion-item>
 <ion-item-options>
  <button danger (click)="removeItem()"><icon trash></icon> Delete</button>
 </ion-item-options>
 </ion-item-sliding>
 </ion-list>
</ion-content>

通过上下对比,你应该看到:我们用ion-item-sliding替换了ion-item 。这允许我们创建一个ion-item-options 部件,当用户滑动列表元素时,它将显示出来。

这段代码还创建了一个删除按钮,当ion-item-options部件显示出来时,可以点击按钮,这时会触发类中定义的removeItem (暂无,接下来添加)。另外,我们不止是一个单项,我们要为我们创建的数组的每一个数据创建滑动项,这里我使用ng-for。
还是修改home.html如下:

<ion-navbar *navbar>
 <ion-title>
 Home
 </ion-title>
</ion-navbar>
<ion-content>
 <ion-list>
 <ion-item-sliding *ng-for="#item of items">
 <ion-item>
 {{item.title}}
 </ion-item>
 <ion-item-options>
  <button danger (click)="removeItem(item)"><icon trash></icon> Delete</button>
 </ion-item-options>
 </ion-item-sliding>
 </ion-list>
</ion-content>

现在我们循环在类中定义的items数组的每个item项,然后为每个项创建一个 ion-item-sliding指令。注意我们使用的是#item而不是item。这将创建一个本地引用到迭代获得的item,这让我们可以使用 { {item.title} } 输出标题,它还允许我们传递item的引用到我们的 removeItem 函数。

我们现在有了一个列表包含所有数据,用户可以滑动并显示出一个delete按钮。现在剩下的是当用户点击时做点什么事。因此我们设置一个简单监听以便调用方法从我们先前创建的测试数据中删除一项。

4.创建方法删除数据

现在我们去到 home.js 文件编写方法处理数据删除。当前但删除按钮被点击时传送一个数据项给 removeItem。类似的,你可以非常容易的实现例如删除、编辑、分享、播放动画等你需要的东西,不仅是删除。

修改 home.js 如下:

import {Page} from 'ionic/ionic'
@Page({
 templateUrl: 'app/home/home.html',
})
export class HomePage {
 constructor() {
 this.items = [
  {title: 'item1'},
  {title: 'item2'},
  {title: 'item3'},
  {title: 'item4'},
  {title: 'item5'},
  {title: 'item6'}
 ];
 }
 removeItem(item){
 for(i = 0; i < this.items.length; i++) {
  if(this.items[i] == item){
  this.items.splice(i, 1);
  }
 }
 }
}

现在你向左侧滑动列表项,然后点击删除按钮,它就会从列表中删除。就像下面这样:

删除例子

5.添加一个编辑按钮

这里将不会将Edit按钮的全过程走一遍,但是你可以轻易扩展活动项并添加编辑按钮,如下所示:

<ion-item-options>
 <button primary>Edit</button>
 <button danger (click)="removeItem(item)"><icon trash></icon> Delete</button>
</ion-item-options>

现在滑动时你有两个按钮了,看下面:

添加编辑按钮

然后你可以编写Edit按钮的点击事件了,具体取决于你的需求。

总结

Ionic2 这个特性真是太棒了,不仅能删除,还能轻易的添加其它按钮。

这同时也是一个非常完美的UI元素节省屏幕空间,不会显示这些信息除非你滑动屏幕。

以上所述是小编给大家介绍的Ionic 2 实现列表滑动删除按钮的方法,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ionic  # 列表滑动删除  # 关注Ionic底部导航按钮tabs在android情况下浮在上面的处理  # ionic2如何处理android硬件返回按钮  # 你可以  # 的是  # 给大家  # 创建一个  # 在这里  # 所示  # 小编  # 命令行  # 类中  # 是一个  # 就会  # 让你  # 暂无  # 就像  # 在此  # 还能  # 这段  # 一遍  # 你有  # 这是一个 


相关文章: 北京营销型网站制作公司,可以用python做一个营销推广网站吗?  建站之星如何优化SEO以实现高效排名?  如何在建站主机中优化服务器配置?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  建站之星logo尺寸如何设置最合适?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  内网网站制作软件,内网的网站如何发布到外网?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  宝塔建站助手安装配置与建站模板使用全流程解析  小建面朝正北,A点实际方位是否存在偏差?  建站之星收费标准详解:套餐费用及年费价格表一览  如何规划企业建站流程的关键步骤?  建站之星价格显示格式升级,你的预算足够吗?  如何通过WDCP绑定主域名及创建子域名站点?  如何做静态网页,sublimetext3.0制作静态网页?  创业网站制作流程,创业网站可靠吗?  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何挑选高效建站主机与优质域名?  建站之星如何助力网站排名飙升?揭秘高效技巧  无锡营销型网站制作公司,无锡网选车牌流程?  建站主机系统SEO优化与智能配置核心关键词操作指南  如何快速查询网址的建站时间与历史轨迹?  建站之星如何实现PC+手机+微信网站五合一建站?  如何快速启动建站代理加盟业务?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何正确下载安装西数主机建站助手?  如何彻底卸载建站之星软件?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  免费视频制作网站,更新又快又好的免费电影网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  高性能网站服务器配置指南:安全稳定与高效建站核心方案  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  制作企业网站建设方案,怎样建设一个公司网站?  ,巨量百应是干嘛的?  高防服务器租用指南:配置选择与快速部署攻略  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  海南网站制作公司有哪些,海口网是哪家的?  建站之星官网登录失败?如何快速解决?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  ,在苏州找工作,上哪个网站比较好?  北京的网站制作公司有哪些,哪个视频网站最好?  如何选择建站程序?包含哪些必备功能与类型?  如何在阿里云服务器自主搭建网站?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  网站设计制作公司地址,网站建设比较好的公司都有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。