uniapp 自定义横向滑动列表(金刚区,类似于美团小程序首页顶部)

这篇具有很好参考价值的文章主要介绍了uniapp 自定义横向滑动列表(金刚区,类似于美团小程序首页顶部)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

封装
uniapp横向滑动,uni-app,小程序,javascript

<template>
  <view>
    <swiper :indicator-dots="isShowDot && showDot" class="swiper" :style="{height:(145*col)+'rpx'}">
      <swiper-item v-for="(item, index) in listdivInfo" :key="index" class="swiper-item">
        <view v-for="(child, code) in item" class="smallItem" :key="code" :style="{ width: width + '%' }">
          <view class="image">
            <u-image :src="imageURL(child.image)" width="64rpx" height="64rpx" radius="32rpx">
            </u-image>
          </view>
          <view class="name">{{ child.title }}</view>
        </view>
      </swiper-item>
    </swiper>
  </view>
</template>



<script>
export default {
  props: {
    list: {
      type: Array,
      default: () => {
        return [];
      },
    },
    //一行排列数
    nums: {
      type: Number,
      default: 4,
    },

    //排列行数
    col: {
      type: Number,
      default: 1,
    },
    //是否展示指示灯
    isShowDot: {
      type: Boolean,
      default: true,
    },
  },

  watch: {
    list: {
      handler: function (newVal, oldVal) {
        this.listdiv();
      },
      deep: true,
    },
  },

  mounted() {
    this.listdiv();
  },
  data() {
    return {
      listdivInfo: [],
      width: 25,
      showDot: true,
    };
  },
  methods: {
    async listdiv() {
      this.width = 100 / this.nums;
      var arr = [];
      let that = this;
      console.log(that.nums * that.col);
      await this.list.forEach((v, index) => {
        var num = Math.floor(index / (that.nums * that.col));
        if (!arr[num]) {
          arr[num] = [];
          arr[num].push(v);
        } else {
          arr[num].push(v);
        }
      });
      this.listdivInfo = arr;
      if (this.listdivInfo.length > 1) {
        this.showDot = true;
      } else {
        this.showDot = false;
      }
    },
  },
};
</script>

<style lang="scss" scoped>
.swiper {
  margin: 8rpx 32rpx;
  background: white;
  border-radius: 32rpx;
}

.swiper-item {
  display: flex;
  flex-wrap: wrap;

  .smallItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 16rpx 0;
    overflow: hidden;

    image {
      width: 64rpx;
      height: 64rpx;
    }

    .name {
      margin-top: 8rpx;
      font-size: 16rpx;
    }
  }
}
</style>

使用

<template>
    <view>
        <scrollX :list="cateList" :nums="5" :col="2" />
    </view>
</template>

<script>
import scrollX from "@/components/scroll-x/index.vue";
export default {
    components: {
        scrollX
    },
    data() {
        return {
            cateList: [
                {
                    title: "酒店民宿",
                    image: "图片地址",
                    path: "",
                    isPath: true,
                },
                {
                    title: "健康医疗",
                    image: "",
                    path: "",
                    isPath: true,
                },
            ]
        }
    },
}
</script>


注:可自行修改数据格式文章来源地址https://www.toymoban.com/news/detail-518357.html

到了这里,关于uniapp 自定义横向滑动列表(金刚区,类似于美团小程序首页顶部)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序的横向滑动

    小程序横向滑动可以通过使用小程序的scroll-view组件来实现,具体步骤如下: 在wxml文件中添加scroll-view组件,并设置属性horizontal为true,同时设置宽度和高度; 在样式文件中设置scroll-view组件的样式,例如设置内部元素的宽度为固定值,并强制换行; 在js文件中动态设置scro

    2024年02月14日
    浏览(31)
  • 微信小程序横向滑动菜单栏实现

    我们开发项目过程中偶尔遇到这种的一个功能,横向的滑动菜单栏的实现。用scroll-view标签来实现,scroll-x=\\\"true\\\"属性来调整滑动方向。废话不用多说直接上代码。 WXML代码段:

    2024年02月12日
    浏览(40)
  • Vue中实现Web端鼠标横向滑动和触控板滑动效果

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在Web端,我们经常需要实现鼠标横向滑动和触控板滑动的效果,以便在页面中展示横向滑动的内容。本文将介绍如

    2024年02月13日
    浏览(43)
  • IOS 类似探探卡片滑动效果

    IOS 类似探探卡片滑动效果 之前写的类似的效果,现在整理一下demo,方便之后可能会用到。 卡片要实现 1、实现左右滑动 2、滑动之后删除或者还原 首先有数据Cards数组,以及CardViews数组,一次性只显示三个卡片,当滑动删除第一个后,从cards数组中取出数据,创建一个新的

    2024年02月13日
    浏览(39)
  • vue中通过JavaScript实现web端鼠标横向滑动&触控板滑动效果-demo

    JavaScript实现web端鼠标横向滑动触控板滑动效果  支持鼠标拖动滑动触控板滑动效果 web端实现滑动,就是对鼠标按下、鼠标松开、鼠标移动事件进行监听 在Vue中实现鼠标横向滑动触控板滑动效果可以通过以下步骤实现: 首先在Vue中创建一个父组件,在该组件中引入子组件或者

    2024年02月15日
    浏览(36)
  • uniapp 微信小程序 自定义弹框+picker下拉选择列表+输入表单:拒绝-选择理由弹窗

    效果: 1、template 2、data: 3、methods: 4、style

    2024年01月20日
    浏览(63)
  • 【小程序】小程序如何实现滑动翻页(类似刷短视频的交互效果)

    在微信小程序中实现上下滑动翻页的效果其实非常简单,可以说一学就会。 这篇文章将非常详细地教大家如何实现这一交互: 首先我们在 Page 的 data 属性中添加两个变量: 其中 biases 是个数组,我们要实现的效果就是每次展示 biases 的一个元素,上划切换到上一个元素,下划

    2024年02月10日
    浏览(39)
  • 微信小程序横向滚动卡片列表模板

    在开发微信小程序时,横向可滚动卡片列表是一个必不可缺的页面组件。其不仅美观还可以节省屏幕空间。具体截图如下: 主要用的是scroll-x,具体代码如下: wxml 附:renshu.png wxss js 在微信小程序开发中,横向滚动卡片列表是提升用户体验和界面美观的重要组件。本文介绍了

    2024年02月16日
    浏览(46)
  • 前端Vue仿美团地址管理组件列表组件 可用于电商平台收获地址管理

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随

    2024年02月16日
    浏览(43)
  • 微信小程序 scroll-view设置scroll-x无法横向显示和滑动的解决方案

    仅仅设置 scroll-x无法实现横向排列和滑动?还需在scroll-view和子view的wxss样式里进行如下设置 如果想在子view里使用 弹性布局 display:flex ,也可以这样:

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包