Ionic 2 實現(xiàn)列表滑動刪除按鈕的方法
在上篇文章給大家介紹了ionic中列表項增加和刪除的實現(xiàn)方法,接下來通過本文給大家介紹Ionic 2 實現(xiàn)列表滑動刪除按鈕的方法,具體內(nèi)容詳情如下所示:
使用Ionic這種框架偉大的地方在于用戶界面元素默認準(zhǔn)備好了,意味著你可以設(shè)計更好的app而不需要很強的用戶體檢設(shè)計背景,而且讓你可以更容易實現(xiàn)這些模式。
這篇教程將展示如何使用Ionic2添加一個簡單的刪除按鈕到列表,當(dāng)用戶滑動列表項到左邊的時候。這是一個處理刪除列表數(shù)據(jù)時候常用的模式。本教程將涵蓋創(chuàng)建這個滑動刪除按鈕所需要的一切。
刪除例子
1.創(chuàng)建Ionic2應(yīng)用
通過以下命令行語句創(chuàng)建新的Ionic2應(yīng)用:
ionic start ionic2-delete blank --v2
這里我使用了–v2標(biāo)志位,為了告訴Ionic命令行我們創(chuàng)建的是Ionic2項目。
2.準(zhǔn)備列表數(shù)據(jù)
我們需要一些維護數(shù)據(jù),因此要建立一些試驗數(shù)據(jù)。創(chuàng)建我們項目的blank模版默認建立了一個Home組件,這個教程我們就在此基礎(chǔ)上修改。
既然Ionic2還很新,我將這些步驟盡量闡述詳細,下面我們看看app/home/home.js文件:
import {Page} from 'ionic/ionic'
@Page({ templateUrl: 'app/home/home.html', }) export class HomePage { constructor() {} }
constructor 方法在組件創(chuàng)建是執(zhí)行,因此我們在這里準(zhǔn)備試驗數(shù)據(jù)。你可能已經(jīng)注意到我們已經(jīng)給這個組件定義了模版,隨后將展示如何在模版中使用在這里添加的數(shù)據(jù)。
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'} ]; } }
現(xiàn)在我們有一些數(shù)據(jù)可以刪除了。
3.修改主頁(HOME)的模版
接下來我們編輯home.html來建立模版?,F(xiàn)在的模版是包含一些創(chuàng)建<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>
這只是創(chuàng)建了只有一個單項的列表,接著我們將添加滑動元素。
繼續(xù)修改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>
通過上下對比,你應(yīng)該看到:我們用ion-item-sliding替換了ion-item 。這允許我們創(chuàng)建一個ion-item-options 部件,當(dāng)用戶滑動列表元素時,它將顯示出來。
這段代碼還創(chuàng)建了一個刪除按鈕,當(dāng)ion-item-options部件顯示出來時,可以點擊按鈕,這時會觸發(fā)類中定義的removeItem (暫無,接下來添加)。另外,我們不止是一個單項,我們要為我們創(chuàng)建的數(shù)組的每一個數(shù)據(jù)創(chuàng)建滑動項,這里我使用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>
現(xiàn)在我們循環(huán)在類中定義的items數(shù)組的每個item項,然后為每個項創(chuàng)建一個 ion-item-sliding指令。注意我們使用的是#item而不是item。這將創(chuàng)建一個本地引用到迭代獲得的item,這讓我們可以使用 { {item.title} } 輸出標(biāo)題,它還允許我們傳遞item的引用到我們的 removeItem 函數(shù)。
我們現(xiàn)在有了一個列表包含所有數(shù)據(jù),用戶可以滑動并顯示出一個delete按鈕。現(xiàn)在剩下的是當(dāng)用戶點擊時做點什么事。因此我們設(shè)置一個簡單監(jiān)聽以便調(diào)用方法從我們先前創(chuàng)建的測試數(shù)據(jù)中刪除一項。
4.創(chuàng)建方法刪除數(shù)據(jù)
現(xiàn)在我們?nèi)サ?home.js 文件編寫方法處理數(shù)據(jù)刪除。當(dāng)前但刪除按鈕被點擊時傳送一個數(shù)據(jù)項給 removeItem。類似的,你可以非常容易的實現(xiàn)例如刪除、編輯、分享、播放動畫等你需要的東西,不僅是刪除。
修改 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); } } } }
現(xiàn)在你向左側(cè)滑動列表項,然后點擊刪除按鈕,它就會從列表中刪除。就像下面這樣:
刪除例子
5.添加一個編輯按鈕
這里將不會將Edit按鈕的全過程走一遍,但是你可以輕易擴展活動項并添加編輯按鈕,如下所示:
<ion-item-options> <button primary>Edit</button> <button danger (click)="removeItem(item)"><icon trash></icon> Delete</button> </ion-item-options>
現(xiàn)在滑動時你有兩個按鈕了,看下面:
添加編輯按鈕
然后你可以編寫Edit按鈕的點擊事件了,具體取決于你的需求。
總結(jié)
Ionic2 這個特性真是太棒了,不僅能刪除,還能輕易的添加其它按鈕。
這同時也是一個非常完美的UI元素節(jié)省屏幕空間,不會顯示這些信息除非你滑動屏幕。
以上所述是小編給大家介紹的Ionic 2 實現(xiàn)列表滑動刪除按鈕的方法,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
僅用[]()+!等符號就足以實現(xiàn)幾乎任意Javascript代碼
僅用一些符號就足以實現(xiàn)幾乎任意Javascript代碼的方法,比較怪異,對于特殊需要可能用得到。2010-03-03javascript入門之?dāng)?shù)組[新手必看]
本文介紹了javascript 數(shù)組的定義和數(shù)組元素的操作,ECMAScript中的數(shù)組方法...希望對大家有所幫助2016-11-11JS循環(huán)發(fā)送請求時控制請求并發(fā)數(shù)實例
這篇文章主要介紹了JS循環(huán)發(fā)送請求時控制請求并發(fā)數(shù)實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12微信小程序使用uni-app開發(fā)小程序及部分功能實現(xiàn)詳解
uni-app是一個使用Vue.js 開發(fā)所有前端應(yīng)用的框架,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用uni-app開發(fā)小程序及部分功能實現(xiàn)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-08-08