【问题标题】:Ant Design Vue: Carousel arrows disappear when there's only one div contentAnt Design Vue:当只有一个 div 内容时,轮播箭头消失
【发布时间】:2020-12-18 18:28:58
【问题描述】:

我正在使用 Ant Design Vue 的 Carousel 在 Instagram Story Clone 项目中显示一些后端生成的数据。

问题是当轮播中只有一个内容时,箭头和点会消失。

轮播文档:https://antdv.com/components/carousel

代码沙盒:https://codesandbox.io/s/brave-blackwell-e6d5c?file=/src/App.vue

箭头显示:

<a-carousel arrows>

    <!-- Left Arrow -->
    <div
      slot="prevArrow"
      slot-scope="props"
      class="custom-slick-arrow"
      style="left: 10px;zIndex: 1"
    >
      <a-icon type="left-circle" />
    </div>

    <!-- Right Arrow -->
    <div
      slot="nextArrow" 
      slot-scope="props"
      class="custom-slick-arrow" 
      style="right: 10px"
    >
      <a-icon type="right-circle" />
    </div>

    <div><h3> Content 1 </h3></div>
    <div><h3> Content 2 </h3></div>
  </a-carousel>

箭头未显示:

<a-carousel arrows>

    <!-- Left Arrow -->
    <div
      slot="prevArrow"
      slot-scope="props"
      class="custom-slick-arrow"
      style="left: 10px;zIndex: 1"
    >
      <a-icon type="left-circle" />
    </div>

    <!-- Right Arrow -->
    <div
      slot="nextArrow" 
      slot-scope="props"
      class="custom-slick-arrow" 
      style="right: 10px"
    >
      <a-icon type="right-circle" />
    </div>

    <div><h3> Just content 1 </h3></div>
 </a-carousel>

当只有一个内容时,如何确保箭头也继续显示?

【问题讨论】:

  • Ant 轮播是slick carousel. 的包装。如果只有一张幻灯片,光滑轮播的默认行为是删除箭头(这是有道理的,因为没有更多幻灯片可以导航到),解决方法可能是禁用箭头并自己制作,如SO post
  • 如何在 Vue 中实现它?我可以不用 jQuery 吗?
  • 您可以在新箭头上使用 next() & prev() 方法,并通过 css 隐藏默认箭头。
  • 我的意思是,如何访问 slick carousel 的设置?我应该从头开始创建一个新的光滑轮播吗?

标签: javascript css vue.js vue-component antdv


【解决方案1】:

如果您有一张幻灯片,则无需显示该箭头,因为这会影响用户体验,但我只是建议添加一张指示幻灯片结束的幻灯片:

  <a-carousel arrows>
    <!-- Left Arrow -->
    <div
      slot="prevArrow"
      slot-scope="props"
      class="custom-slick-arrow"
      style="left: 10px;zIndex: 1"
    >
      <a-icon type="left-circle"/>
    </div>

    <!-- Right Arrow -->
    <div slot="nextArrow" slot-scope="props" class="custom-slick-arrow" style="right: 10px">
      <a-icon type="right-circle"/>
    </div>

  
    <div>
      <h3>1</h3>
    </div>
    <div>
      <h3>End :)</h3>
       <h4> Don't forget to follow us</h4>
    </div>
   
  </a-carousel>

【讨论】:

  • 我正在尝试开发 Instagram 故事克隆,当只有一个内容时我也需要箭头,因为当单击该箭头时,故事会发生变化,并且轮播的内容会切换到另一个用户的内容。
猜你喜欢
  • 1970-01-01
  • 2017-12-26
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-22
  • 2020-02-16
  • 1970-01-01
相关资源
最近更新 更多