Skip to content

virtual1680/scrollList

Repository files navigation

q-scroll-list

Vue 3 + Typescript + Vite

数据列表向上滚动、无感更新数据

安装

npm https://www.npmjs.com/package/q-scroll-list

npm install q-scroll-list
or
yarn add q-scroll-list

main.js

import QScrollList from 'q-scroll-list';
import "q-scroll-list/index.css";
const app = createApp(App);
app.use(QScrollList);

//简单使用
<script setup lang="ts">
import { ref } from "vue";
let data = ref([] as any[]);
let scrollList = ref(null);
let config = ref({
  header: {
    data: ["名称", "类型", "状态", "情况", "日期"],
    height: 40,
    color: "#fff",
    borderColor: "pink",
    borderSize: 1,
  },
  data: data,
  pageSize: 7,
});
const selectItem = (id: string, rowIndex: number, colIndex: number) => {
  console.log(id, rowIndex, colIndex);
};
data.value = [
  { id: "1", value: [1, 2, 3, 4, 5] },
  { id: "2", value: [2, 2, 3, 4, 5] },
  { id: "3", value: [3, 2, 3, 4, 5] },
  { id: "4", value: [4, 2, 3, 4, 5] },
  { id: "5", value: [5, 2, 3, 4, 5] },
  { id: "6", value: [6, 2, 3, 4, 5] },
  { id: "7", value: [7, 2, 3, 4, 5] },
  { id: "8", value: [8, 2, 3, 4, 5] },
  { id: "9", value: [9, 2, 3, 4, 5] },
  { id: "10", value: [10, 2, 3, 4, 5] },
  { id: "11", value: [11, 2, 3, 4, 5] },
  { id: "12", value: [12, 2, 3, 4, 5] },
  { id: "13", value: [13, 2, 3, 4, 5] },
  { id: "14", value: [14, 2, 3, 4, 5] },
  { id: "15", value: [15, 2, 3, 4, 5] },
  { id: "16", value: [16, 2, 3, 4, 5] },
];
setTimeout(() => {
  //一步更新数据
  (scrollList.value as any).pushData([
    { id: "17", value: [17, 22, 23, 24, 25] },
    { id: "18", value: [18, 22, 23, 24, 25] },
    { id: "19", value: [19, 22, 23, 24, 25] },
    { id: "20", value: [20, 22, 23, 24, 25] },
  ]);
}, 10000);
</script>

<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <div class="bg" style="width:500px;height:300px;margin:0 auto">
    <QScrollList :config="config" @selectItem="selectItem" ref="scrollList"></QScrollList>
  </div>
</template>

事件

回调方法 返回参数 参数类型 返回说明
@selectItem (id,rowIndex,colIndex) (int,int,int) 点击行返回 id
pushData (data) (array) 异步更新数据

参数 config

参数名 参数类型 说明
header HeaderObject 表头配置
type string 单行滚动:single 分页滚动:page
data object[] 列表数据{id:'xx',value:['xx','hh']}
pageSize number 一页展示多少行
columnWidth number[] 每列的间隔[,,20,]这样第三列为 20,其他列等分
waitTime number 动画执行间隔时间
selectBg string 鼠标点击行的背景颜色
singleBg string 奇行背景颜色
doubleBg string 偶行背景颜色
注意:
  data 必须包含id及value
  value为每列的数据可以为html字符

参数 HeaderObject

参数名 参数类型 说明
size number 字体大小
color string 字体颜色
data string[] 表头数据['姓名','公司']
height number 表头行高
borderColor number[] 表头下的 border 颜色
borderSize number 表头下的 border 大小

图片

Customize configuration

See Configuration Reference.

About

vue3+ts 列表向上滚动

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published