Element-React Carousel 走馬燈

2020-10-19 11:17 更新

在有限空間內,循環(huán)播放同一類型的圖片、文字等內容

基礎用法

適用廣泛的基礎用法

結合使用CarouselCarousel.Item標簽就得到了一個走馬燈?;脽羝膬热菔侨我獾模枰旁?code>Carousel.Item標簽中。默認情況下,在鼠標 hover 底部的指示器時就會觸發(fā)切換。通過設置trigger屬性為click,可以達到點擊觸發(fā)的效果。

  1. render() {
  2. return (
  3. <div className="demo-1 small">
  4. <div className="block">
  5. <span className="demonstration">默認 Hover 指示器觸發(fā)</span>
  6. <Carousel height="150px">
  7. {
  8. [1,2,3,4].map((item, index) => {
  9. return (
  10. <Carousel.Item key={index}>
  11. <h3>{item}</h3>
  12. </Carousel.Item>
  13. )
  14. })
  15. }
  16. </Carousel>
  17. </div>
  18. <div className="block">
  19. <span className="demonstration">Click 指示器觸發(fā)</span>
  20. <Carousel trigger="click" height="150px">
  21. {
  22. [1,2,3,4].map((item, index) => {
  23. return (
  24. <Carousel.Item key={index}>
  25. <h3>{item}</h3>
  26. </Carousel.Item>
  27. )
  28. })
  29. }
  30. </Carousel>
  31. </div>
  32. </div>
  33. )
  34. }

指示器

可以將指示器的顯示位置設置在容器外部

indicator-position屬性定義了指示器的位置。默認情況下,它會顯示在走馬燈內部,設置為outside則會顯示在外部;設置為none則不會顯示指示器。

  1. render() {
  2. return (
  3. <div className="demo-2 medium">
  4. <Carousel indicatorPosition="outside">
  5. {
  6. [1,2,3,4].map((item, index) => {
  7. return (
  8. <Carousel.Item key={index}>
  9. <h3>{item}</h3>
  10. </Carousel.Item>
  11. )
  12. })
  13. }
  14. </Carousel>
  15. </div>
  16. )
  17. }

切換箭頭

可以設置切換箭頭的顯示時機

arrow屬性定義了切換箭頭的顯示時機。默認情況下,切換箭頭只有在鼠標 hover 到走馬燈上時才會顯示;若將arrow設置為always,則會一直顯示;設置為never,則會一直隱藏。

  1. render() {
  2. return (
  3. <div className="demo-3 medium">
  4. <Carousel interval="5000" arrow="always">
  5. {
  6. [1,2,3,4].map((item, index) => {
  7. return (
  8. <Carousel.Item key={index}>
  9. <h3>{item}</h3>
  10. </Carousel.Item>
  11. )
  12. })
  13. }
  14. </Carousel>
  15. </div>
  16. )
  17. }

卡片化

當頁面寬度方向空間空余,但高度方向空間匱乏時,可使用卡片風格

type屬性設置為card即可啟用卡片模式。從交互上來說,卡片模式和一般模式的最大區(qū)別在于,可以通過直接點擊兩側的幻燈片進行切換。

  1. render() {
  2. return (
  3. <div className="demo-4 medium">
  4. <Carousel interval="4000" type="card" height="200px">
  5. {
  6. [1,2,3,4,5,6].map((item, index) => {
  7. return (
  8. <Carousel.Item key={index}>
  9. <h3>{item}</h3>
  10. </Carousel.Item>
  11. )
  12. })
  13. }
  14. </Carousel>
  15. </div>
  16. )
  17. }

扁平卡片化

統(tǒng)一卡片大小

type屬性設置為flatcard即可啟用扁平卡片模式。從交互上來說,卡片模式和一般模式的最大區(qū)別在于,可以通過直接點擊兩側的幻燈片進行切換。

  1. render() {
  2. return (
  3. <div className="demo-4 medium">
  4. <Carousel interval="4000" type="flatcard" height="200px">
  5. {
  6. [1,2,3,4,5,6].map((item, index) => {
  7. return (
  8. <Carousel.Item key={index}>
  9. <h3>{item}</h3>
  10. </Carousel.Item>
  11. )
  12. })
  13. }
  14. </Carousel>
  15. </div>
  16. )
  17. }

Carousel Attributes

參數(shù) 說明 類型 可選值 默認值
height 走馬燈的高度 number 300
initialIndex 初始狀態(tài)激活的幻燈片的索引,從 0 開始 number 0
trigger 指示器的觸發(fā)方式 string click
autoplay 是否自動切換 boolean true
interval 自動切換的時間間隔,單位為毫秒 number 3000
indicatorPosition 指示器的位置 string outside/none
arrow 切換箭頭的顯示時機 string always/hover/never hover
type 走馬燈的類型 string card/flatcard

Carousel Events

事件名稱 說明 回調參數(shù)
onChange 幻燈片切換時觸發(fā) 目前激活的幻燈片的索引,原幻燈片的索引

Carousel Methods

方法名 說明 參數(shù)
setActiveItem 手動切換幻燈片 需要切換的幻燈片的索引,從 0 開始;或相應 Carousel.Item 的 name 屬性值
prev 切換至上一張幻燈片
next 切換至下一張幻燈片

Carousel-Item Attributes

參數(shù) 說明 類型 可選值 默認值
name 幻燈片的名字,可用作 setActiveItem 的參數(shù) string
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號