中繼器使用場景(一)

10 評論 8330 瀏覽 27 收藏 7 分鐘

本文適合已經(jīng)掌握axure元件屬性,中繼器屬性、中繼器制作、中繼器元件與數(shù)據(jù)集關(guān)系的同學(xué)參考。

最近自己在做中糧我買網(wǎng)的高保真原型,截取了一段購物車中的場景——同一商品,在重復(fù)點(diǎn)擊購物車圖標(biāo)時,在購物車頁面,只做實(shí)時數(shù)量變化,而不會重復(fù)添加條目。

gif圖演示:

為了效果的直觀性,gif圖將“商品列表”(左側(cè))和“購物車界面”(右側(cè))放在同一平面上,讓大家看到變化。

為了文章簡化,僅講解“購物清單,重復(fù)添加同一商品,實(shí)時數(shù)量變化”這一部分的實(shí)現(xiàn)方法。

思路:

當(dāng)在產(chǎn)品列表頁,看到商品時,第一次點(diǎn)擊購物車圖標(biāo),在購物車頁面中添加一行數(shù)據(jù),顯示所選購的商品。

當(dāng)重復(fù)點(diǎn)擊同一商品的購物車標(biāo)志時,在購物車頁面,要更新該商品行的數(shù)據(jù),更新數(shù)量文本的數(shù)字,不會重復(fù)添加條目。

實(shí)現(xiàn)步驟

1. 準(zhǔn)備兩個中繼器

(1)第一個中繼器:商品列表中繼器結(jié)構(gòu)

中繼器數(shù)據(jù)載入時元件及數(shù)據(jù)項(xiàng)目綁定如下:

這里重點(diǎn)說兩點(diǎn):

重點(diǎn)一:商品圖片在img列中的表現(xiàn)方式

常規(guī)做法是,在img列中右鍵選擇“導(dǎo)入圖片”,然后選擇圖片,插入圖片。

這種做法的問題是,圖片無法在兩個元件之間傳遞,比如:在點(diǎn)擊購物車圖標(biāo)時,在“購物車頁面中繼器中”顯示該商品的圖片,用“添加行”命令時,即便設(shè)置“購物車頁面中繼器”中的img==“商品列表中繼器”中的img,但是在實(shí)際生成時,并不能看到對應(yīng)圖片。

技巧:先將所需的圖片都統(tǒng)一放在一個頁面中,然后生成預(yù)覽一下,在瀏覽器中(谷歌、360均可)右鍵選擇復(fù)制圖片地址,然后將該地址粘貼在img列表項(xiàng)中即可。這樣,在兩個中繼器中傳遞圖片就可以了。

操作過程如下:

重點(diǎn)二:shuliang列表項(xiàng)

在中繼器的數(shù)據(jù)表中,有shuliang一項(xiàng),這一項(xiàng)在視圖中不做加載,即不和任何元件關(guān)聯(lián),只是作為判斷項(xiàng)存在。初始數(shù)據(jù)為0,是為了日后分辨點(diǎn)擊購物車列表的行為的,第一次點(diǎn)擊,該數(shù)值為1,兩次點(diǎn)擊即為2,以此類推(實(shí)現(xiàn)辦法下文有介紹)。

第二個中繼器:購物車列表中繼器結(jié)構(gòu)

中繼器數(shù)據(jù)載入時元件及數(shù)據(jù)項(xiàng)目綁定如下:

重點(diǎn):“購買數(shù)量”的那個文本框,截圖中為“shuliang”,加載時要綁定item.shuliang列。

2. 添加交互

在第一個商品列表中繼器(截圖中名字為goods list)里的購物車圖標(biāo)中,添加交互。

Case1:

(if true)即無條件的,首要執(zhí)行的動作,接下來更新本行數(shù)據(jù)。

更新行的交互截圖:

解釋:在點(diǎn)擊購物車圖標(biāo)時,首先要更新本行數(shù)據(jù)(商品列表中繼器)的shuliang列,更新為[[Item.shuliang+1]],即每點(diǎn)擊一次購物車圖標(biāo),shuliang列就+1。

Case2:

(if “[[Item.shuliang]]” == “1”)即如果shuliang列為1,即只點(diǎn)擊了購物車圖標(biāo)一次。接下來為購物車中繼器(截圖中為名字為shopping)“添加行”。

截圖如下:

兩個中繼器之間的數(shù)據(jù)對應(yīng)各個列,分別綁定,尤其是shuliang列,兩個中繼器中的shuliang列數(shù)據(jù)一致。即點(diǎn)擊一次購物車圖標(biāo)時,商品列表中繼器中的shuliang為1,購物車中繼器中的shuliang也是1。因?yàn)橘徫镘囍欣^器的“購買數(shù)量文本框”shuliang在每項(xiàng)加載中和數(shù)據(jù)集的shuliang列綁定,所以此時該文本框顯示為1。

Case3

(Else if “[[Item.shuliang]]” > “1”即多次點(diǎn)擊了購物車圖標(biāo)。接下來為購物車中繼器(截圖中為名字為shopping)“更新行”。

截圖如下:

更新行條件:[[Item.name==TargetItem.name]] 即找到已經(jīng)添加過的商品條目

更新列:shuliang

更新為:item.shuliang即找到已經(jīng)添加過的商品條目,僅更新shuliang列數(shù)量,因該列給購買數(shù)量文本框(shuliang)賦值,所以在演示時,就能看到數(shù)量文本框不斷增加數(shù)量。

 

本文由 @bobowang 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 感覺最復(fù)雜的是把數(shù)據(jù)分離的幾次操作,有點(diǎn)繞

    回復(fù)
  2. 如果兩個中繼器不在一個頁面怎么交互?

    來自廣東 回復(fù)
  3. 按照樓主的攻略,自己做了一個,微微改動了一點(diǎn),有興趣的可以拿去玩一玩,僅供學(xué)習(xí)交流。
    地址: https://l57obx.axshare.com

    來自北京 回復(fù)
  4. 哦,我的錯,對不起,我沒注意看是多組條件判斷

    來自重慶 回復(fù)
  5. 不對吧,默認(rèn)shuliang值為0,case1中沒有添加行,購物車中繼器怎么顯示?

    來自重慶 回復(fù)
  6. 按照樓主的攻略做不出來 ??

    來自上海 回復(fù)
  7. 顯示隱藏的樓主還沒分享呢 ??

    來自上海 回復(fù)
    1. 什么意思?沒明白

      來自北京 回復(fù)
  8. 樓主rp分享不

    來自北京 回復(fù)
    1. 您好,因?yàn)檫@段分享是截取了我自己做原型中的一部分,完整的原型文件比較復(fù)雜,并還在調(diào)試中。后續(xù)我會不斷更新中繼器的使用方法。
      實(shí)際rp不重要,重要的是思路。

      來自北京 回復(fù)