成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

掌握這個技術,給輪播圖和文本插上自由之翼

開發(fā) 前端
當然底層上還是依賴Dooring零代碼提供的便捷搭建能力和擴展能力, 讓組件間通信能煥發(fā)出更大的價值. 如果大家想體驗這一功能, 也歡迎線上使用, 同時也歡迎將這一方案用在自己公司的產(chǎn)品上, 更大的提高公司產(chǎn)研效率.

組件間通信技術如何賦能輪播圖和文本

圖片圖片

上圖畫布中有兩個組件: 輪播圖 和 文本組件. 我們可以在圖中看到當輪播圖組件內容切換時,  文本組件內容也會對應的切換. 熟悉前端開發(fā)的小伙伴也許會覺得這樣的功能很好實現(xiàn), 我們可以用諸如 react, vue 這樣的框架來輕松實現(xiàn)數(shù)據(jù)狀態(tài)的共享, 但是通過傳統(tǒng)的組件開發(fā)方式來實現(xiàn)這樣的功能, 存在太多的局限性, 比如:

1. 輪播圖組件的圖片和文本的位置相對比較固定, 不夠靈活

我們一般的輪播圖組件長這樣:

圖片圖片

一般輪播圖文案會放在圖片中間或者底部, 如果產(chǎn)品經(jīng)理或者設計師小朋友想調整文本的位置, 比如以下幾種:

左圖右文(或右圖左文)排版:

圖片圖片

輪播文本出現(xiàn)在左上方:

圖片圖片

上圖下文的輪播圖排版:

圖片圖片

面對這些花里胡哨的排版設計, 傳統(tǒng)做法只能通過程序員不斷修改或者擴展代碼,才能實現(xiàn)這些的需求.

2. 上線成本高, 不夠敏捷

這里的“成本”并不是組件的修改成本高, 因為改變位置對程序員來說都是小意思, 這里的成本指的是時間成本. 因為網(wǎng)站上線會涉及一系列的準備工作, 比如代碼修改, 代碼提交, 代碼測試, 最終再把網(wǎng)站上線.

圖片圖片

同時花大部分時間做一些低價值的任務, 對程序員自身成長也不友好, 所以我們需要思考更優(yōu)雅的方式.

3. 樣式設計的局限性較大

比如我們要實現(xiàn)帶背景的輪播圖文案, 如果按照老路子開發(fā), 程序員又得嘩嘩寫代碼了.

輪播圖這類對外展示信息的需求, 雖然大多不是企業(yè)的核心需求, 但是某些時候卻對企業(yè)的形象和企業(yè)價值傳遞至關重要, 所以我們必須要及時響應需求的變化, 第一時間維護公司的形象.

怎么去做呢? 我的答案是: 讓產(chǎn)品經(jīng)理和設計師們自己去維護輪播圖組件.

解決方案演示

  1. 解決輪播圖組件圖片和文本的位置相對比較固定, 不夠靈活的問題

圖片圖片

圖片圖片

  1. 解決輪播文本樣式的局限性

圖片圖片

輪播文案動畫效果:

圖片圖片

輪播和文案分離的課件式交互:

圖片圖片

當然還有很多玩法等待大家開啟, 如果我們把這個功能嫁接給產(chǎn)品或者業(yè)務人員, 那么將極大的解放程序員的雙手, 也能極大的提高公司需求變更的響應速度.

接下來我就來分享一下如何實現(xiàn)輪播圖和文本的跨越式通信.

技術實現(xiàn)方案

之前和大家分享了兩期跨組件通信的技術方案, 我們繼續(xù)沿用之前的方案, 來實現(xiàn)輪播圖和文本的通信.

  1. 首先在輪播圖組件中創(chuàng)建并觸發(fā)自定義事件:
//  觸發(fā)函數(shù)
const handleTrigger = (value: string) => {
    if(targetId) {
      document.dispatchEvent(new CustomEvent(`source_text_${targetId}`, { detail: value }))
    }
  }
  
// 當輪播圖onchange時傳遞數(shù)據(jù)并觸發(fā)
<Carousel
    className={cid}
    notallow={index => {
      // some code ...
      // 一觸即發(fā)
      handleTrigger(_data.length ? _data[index]?.title : imgList[index]?.title);
    }}
    directinotallow={direction}
    swipeable={swipeable}
    autoPlay={autoPlay}
    loop
    >
    {contentRender()}
</Carousel>
  1. 在文本組件中監(jiān)聽事件并響應數(shù)據(jù)回傳
useEffect(() => {
    const eventName = `source_text_${id}`;
    function handleDataChange(event: any) {
      setData(event.detail);
    }

    document.addEventListener(eventName, handleDataChange)

    return () => document.removeEventListener(eventName, handleDataChange)
  }, [])

沒錯, 就這么點代碼, 就實現(xiàn)了輪播圖組件和文本組件的通信, 大家學會了嗎?

當然底層上還是依賴Dooring零代碼提供的便捷搭建能力和擴展能力, 讓組件間通信能煥發(fā)出更大的價值.  如果大家想體驗這一功能, 也歡迎線上使用, 同時也歡迎將這一方案用在自己公司的產(chǎn)品上, 更大的提高公司產(chǎn)研效率.

再展開想象, 這種方案不止于輪播圖, 比如我之前分享的搜索和列表組件, 對于業(yè)務層, 應用這一方案可以發(fā)揮更大的價值.

責任編輯:武曉燕 來源: 趣談前端
相關推薦

2011-09-23 16:15:56

電子政務

2012-05-24 10:44:29

天翼空間微軟開發(fā)者

2012-09-17 09:07:08

中國電信天翼空間

2018-01-08 16:19:04

微信程序輪播圖

2024-06-11 00:00:00

前端輪播圖硬件

2012-05-18 12:45:58

2012-08-31 09:06:49

開源

2016-12-01 09:24:56

Android

2015-07-21 12:30:15

Swift輪播圖無限循環(huán)

2018-09-12 16:10:05

2018-06-28 13:03:42

智能

2017-04-27 08:54:54

Python文本分析網(wǎng)絡

2023-08-08 14:31:42

輪播圖鴻蒙

2014-09-10 09:55:09

2019-06-12 12:08:50

戴爾

2020-11-25 09:27:49

Docker容器技術

2020-11-03 16:42:46

容器Dockerfile技術

2021-03-08 21:52:44

Windows服務器程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91小视频| 中文在线观看视频 | 日韩中文字幕一区二区 | 999国产视频 | 人人干在线| 国产有码 | 蜜桃视频在线观看www社区 | 亚洲欧美视频一区二区 | 欧美高清一区 | 色噜噜亚洲男人的天堂 | 国产一区二区视频免费在线观看 | 国产探花在线精品一区二区 | 精品国产欧美日韩不卡在线观看 | 欧美黄色一区 | 成人福利视频 | 亚洲第一天堂无码专区 | 国产精品毛片一区二区在线看 | 欧美性受xxxx | 欧美日韩一区二区三区不卡视频 | 蜜桃视频在线观看免费视频网站www | 一级a爱片性色毛片免费 | 久久精品国产久精国产 | 国产精品美女一区二区三区 | 四季久久免费一区二区三区四区 | 国产91在线 | 欧美 | 国产欧美一区二区三区国产幕精品 | 日韩欧美福利视频 | 婷婷去俺也去 | 精精久久| 成人免费久久 | 欧美激情一区二区三区 | 日韩乱码在线 | 亚洲高清av在线 | 亚洲精品久久久久国产 | 日韩欧美在线观看视频 | 国产目拍亚洲精品99久久精品 | 韩日一区二区 | 亚洲网站在线观看 | 欧洲毛片 | 久久国品片 | 国产免费观看久久黄av片涩av |