vue3+h5实现虚拟列表

vue3+h5实现虚拟列表

  • 安装:npm i vue3-virtual-scroll-list
  • package.json
  "dependencies": {
    "vue": "^3.2.36",
    "vue3-virtual-scroll-list": "^0.2.1"
  },
  "devDependencies": {
    "vite": "^4.4.6",
    "vite-plugin-mock": "^3.0.0",
    "vite-plugin-style-import": "^2.0.0",
    "vite-plugin-vconsole": "^2.0.0",
  }

component / List.vue

<template>
  <div class="container">
    <vue-virtual-scroll-list
      class="scroll-list"
      style="height: 100%; overflow-y: scroll;"
      :size="list.length"
      :keeps="20"
      :data-key="'id'"
      :data-sources="list"
      :data-component="itemComponent"
      :extra-props="{
        address,
        basisInfo,
      }"
      @tobottom="listToBottom"
    >
    </vue-virtual-scroll-list>
  </div>
</template>

<script>
import { defineComponent, ref } from 'vue';
import VueVirtualScrollList from 'vue3-virtual-scroll-list';
import itemComponent from "./itemComponent.vue"
export default defineComponent({
  components: {
    VueVirtualScrollList,
    
  },
  setup() {
    const list = ref([]);
    const listToBottom = () => {
      console.log('到底了哦');
    }
    const content = ()=> {
      for(let i = 0; i < 100; i++){
        const obj = {id: i, name: `人员${i}`, sex: i % 2 === 0 ? '男' : '女'};
        list.value.push(obj) 
      }
    }
    onMounted(()=>{
      content()
    })
    return {
      list,
      itemComponent,
      address:{ province:'江苏',city:'南京' },
      basisInfo:[{age:20}],
      listToBottom
    };
  },
});
</script>

<style>
.container {
  height: 500px;
}

.scroll-list {
  width: 100%;
}

.list-item {
  height: 50px;
  line-height: 50px;
  border-bottom: 1px solid #ccc;
}
.container ::-webkit-scrollbar {
  width: 0px; /** 设置滚动条的宽度 */
  background-color: transparent;
}

.container ::-webkit-scrollbar-thumb {
  background-color: transparent;
}

.container ::-webkit-scrollbar-track {
  background-color: transparent;
}

.container {
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}
</style>

component / itemComponent.vue

<template>
  <div>
    编号:{{ index }} <br/>
    姓名:{{ source.name }}<br/> 
    年龄:{{basisInfo[0].age}}<br/>
    地址:{{address.province}}-{{address.city}} <br />
    <div v-if="source.sex === '男'">
      {{ source.sex }}
    </div>
    <hr/>
  </div>
</template>

<script>
  export default {
    name: 'item-component',
    props: {
      index: { 
        type: Number
      },
      source: { 
        type: Object,
        default () {
          return {}
        }
      },
      address:{
        type: Object,
        default () {
          return {}
        }
      },
      basisInfo:{
        type: Array,
        default () {
          return []
        }  
      }
    },
    mounted(){}
  }
</script>

使用组件

<List></List>

import List from "./component/List.vue"
export default {
  name: "AboutPage",
  components: {
    List
  },
}

效果

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue、Spring Boot、微信H5支付、电商、Git 是一些常见的技术和工具。下面我将依次对它们进行解释和描述: Vue 是一个现代化的前端框架,采用了一种响应式的编程方式,可以轻松构建交互丰富、高性能、可维护的web应用程序。Vue 提供了诸多的功能和特性,例如组件化开发、虚拟DOM、数据双向绑定等,极大地提高了前端开发的效率。 Spring Boot 是一个轻量级、快速开发的Java后端框架,它简化了Spring应用程序的配置和部署,提供了自动化配置和快速启动的特性。Spring Boot具有强大的生态系统和丰富的功能,可以方便地构建高效、安全且可扩展的后端应用程序。 微信H5支付是微信公众平台提供的一种在线支付方式,可以通过微信支付接口实现在手机浏览器中进行支付。它支持用户在H5页面中通过微信进行支付,适用于电商、在线购物等需要在线支付的场景。微信H5支付具有便捷、安全的特点,可以提供良好的用户支付体验。 电商是指以电子商务技术为支撑,通过互联网进行商品、服务的交易和商务活动的行业。电商平台的建设包括商品展示、购物车、订单管理、支付处理等模块,需求复杂多样。Vue和Spring Boot可以结合使用,前端通过Vue实现电商平台的用户界面,后端采用Spring Boot来开发后台接口和处理业务逻辑。 Git 是一个分布式版本控制系统,用于保存和管理软件开发过程中的各个版本。团队可以通过Git来协同开发,追踪代码变更、回滚、合并等。在开发电商平台时,Git助力多人合作开发,有效地管理代码库,解决并发开发、版本控制的问题。团队成员可以通过Git来共享和提交自己的代码,并通过分支管理功能来进行并行开发和版本控制。 总结来说,Vue是一个前端框架,Spring Boot是一个后端框架,微信H5支付是一种在线支付方式,电商是基于电子商务技术的行业,Git是一个用于版本控制的工具。这些技术和工具可以相互结合,用于开发电商平台,并实现高效、可靠的软件开发和交付。 ### 回答2: Vue是一种流行的前端框架,它使用JavaScript和HTML来构建交互式的用户界面。它具有简单易学、灵活性强以及性能优化等优势,因此在前端开发中得到了广泛的应用。 Spring Boot是一个用于简化基于Java的应用程序开发的框架。它提供了开箱即用的功能,使开发人员能够快速构建高效、可扩展的应用程序。Spring Boot还具有自动化配置和简化部署等特性,使开发过程更加便捷。 微信H5支付是一种在线支付方式,允许用户在手机端使用微信进行购物支付。它具有支付安全、使用便捷以及适用范围广泛的特点,已经成为电商领域中非常常见的支付方式。 Git是一个分布式版本控制系统,它用于跟踪文件的修改和历史记录。在开发过程中,开发人员可以使用Git来管理代码版本,通过分支、合并等功能来协同开发和解决冲突。 综上所述,Vue和Spring Boot是用于构建应用程序的框架,微信H5支付是一种在线支付方式,而Git是用于版本控制的工具。它们在电商领域中都扮演着重要角色,能够使开发人员更加高效地开发、部署和维护应用程序。 ### 回答3: Vue是一个用于构建用户界面的开源JavaScript框架,它采用了MVVM的架构模式,能够使开发者更高效地构建Web应用程序。Vue具有简单易学、灵活可扩展以及高性能等特点,因此在前端开发中广受欢迎。 Spring Boot是一个基于Spring框架的快速开发框架,它通过内嵌的Web服务器、自动化配置和约定优于配置的原则,极大地简化了Java Web应用的开发工作。Spring Boot提供了丰富的开发工具和组件,使得开发人员可以更轻松地构建出高效、健壮的后端应用。 微信H5支付是指在移动端浏览器中使用微信支付功能的一种支付方式,用户可以通过浏览器直接打开商户的H5页面进行支付。微信H5支付不需要下载或安装微信客户端,能够为电商平台提供更便捷的支付方式,提升用户体验并增加交易转化率。 Git是一个分布式版本控制系统,它可以记录和管理代码的版本变更。在团队协作开发中,Git可以帮助开发人员更好地进行代码管理、合并和回滚等操作,确保团队开发的代码始终处于一个稳定的状态。Git也是目前最流行的版本控制工具之一,被广泛应用于软件开发行业。 综上所述,Vue、Spring Boot、微信H5支付和Git分别代表了前端开发、后端开发、支付方式和版本控制等不同方面的技术和工具。结合这些技术和工具,我们可以构建出一个使用Vue作为前端框架,Spring Boot作为后端框架,集成微信H5支付的电商平台,并且通过Git进行代码版本管理和团队协作开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值