当前位置: 首页 > news >正文

漂亮的博客网站模板站长交流平台

漂亮的博客网站模板,站长交流平台,10个网站 云主机需求,网络设计收入1、效果 2、环境 1、react18 2、antd 4 3、代码实现 原理:创建一个定时器,修改表格ant-table-body的scrollTop属性实现滚动,监听表层的元素div的鼠标移入和移出实现实现鼠标进入元素滚动暂停,移出元素的时候表格滚动继续。 一…

1、效果

2、环境

1、react18

2、antd 4+

3、代码实现

原理:创建一个定时器,修改表格ant-table-body的scrollTop属性实现滚动,监听表层的元素div的鼠标移入和移出实现实现鼠标进入元素滚动暂停,移出元素的时候表格滚动继续。

一、滚动组件实现如下,

/*** 公共组件:表格滚动*/
import { Table } from 'antd';
import { useEffect, useRef } from 'react';/*** 表格滚动组件* @param {Number} props.rollTime 表格每次滚动间隔时间 单位ms* @param {Number} props.rollNum 表格超过指定条数开始滚动* @param {Number} props.rollTop 表格每次滚动的高度 单位px* @param {Boolean} props.flag 是否滚动* @returns*/
const ScrollTable = (props: any) => {const {dataSource,rollTime = 100,rollNum = 10,rollTop = 2.5,flag = true,} = props;let timer: any = null;const tableContainer = useRef();// 开启定时器const initialScroll = (data: any) => {let container: any = tableContainer.current;container = container.getElementsByClassName('ant-table-body')[0];if (data.length > Number(rollNum) && flag) {// 只有当大于10条数据的时候 才会看起来滚动let time = setInterval(() => {container.scrollTop += Number(rollTop);if (Math.ceil(container.scrollTop) >=Number(container.scrollHeight - container.clientHeight)) {container.scrollTop = 0;}}, Number(rollTime));timer = time;}};useEffect(() => {initialScroll(dataSource);return () => {clearInterval(timer);};}, []); // 检测数组内变量 如果为空 则监控全局return (<divonMouseOver={() => {clearInterval(timer);}}onMouseOut={() => {initialScroll(dataSource);}}><TablerowKey="id"ref={tableContainer}pagination={false}scroll={{y: 500,x: '100%',scrollToFirstRowOnChange: true,}}{...props}/></div>);
};
export default ScrollTable;

二、调用该组件

/*** 示例: 滚动表格示例*/
import ScrollTable from '@/components/ScrollTable';
import clsx from 'clsx';const COLUMNS = [{dataIndex: 'index',valueType: 'indexBorder',width: 48,},{title: '姓名',dataIndex: 'name',key: 'name',},{title: '年龄',dataIndex: 'age',key: 'age',},{title: '住址',dataIndex: 'address',key: 'address',},
];
const DATA_SOURCE = new Array(30).fill(0).map((item, index) => ({id: index + 1,name: `张三-${index}`,labels: `labels-${index}`,age: index,address: `武汉-${index}`,
}));const ScrollTableExample = () => {return (<div className={clsx(['w-1/3', 'h-full', 'px-6', 'py-6', 'text-white'])}><ScrollTable dataSource={DATA_SOURCE} columns={COLUMNS} /></div>);
};
export default ScrollTableExample;

http://www.yayakq.cn/news/392315/

相关文章:

  • 怎么查网站注册信息python 网站架构
  • 金阊seo网站优化软件关于网站内容建设的正确说法
  • 天津建设银行东丽网站上海有几个区域
  • 公司做网站留言板书店网站建设可行性分析
  • 外贸服装接单网站天辰建设网站
  • 开发个网站开票名称是什么个人养老保险网上怎么缴费
  • wordpress 列表页吉安百度seo
  • 做网站分几种磁力搜索引擎2023
  • 企业标准网上备案网站化妆品网站建设计划书
  • 无锡招标网官方网站工厂弄个网站做外贸如何处理
  • 建设银行网站每天几点更新宁波网站建设电话
  • 游戏开发团队攀枝花seo
  • .net 大型网站开发技术美容店会员管理系统
  • 专业网站开发哪里有网上怎么自己做网站
  • 政务网站集约化建设要求免费素材哪个网站比较好
  • 网站开发需要多少钱小红书网站开发费用
  • 做网站赚钱的点在哪里电子商务网站建设考纲
  • mvc5网站开发实战详解网加商学院网站怎么做
  • 做网站是学什么编程语言微商城怎么弄
  • 做网站什么码淘宝客怎么做自己的网站
  • 21天网站建设实录pdf毕设做网站什么主题比较好
  • 网站建设定制公司推荐论坛网站前置审批
  • 湖南定制响应式网站有哪些俄罗斯乌克兰地图
  • 网站开发与制作中期报告git wordpress主题
  • 网站建设资源平台响应式网站开发设计
  • 三沙网站建设wordpress搜索对接公众号
  • 移动应用网站开发阶段作业个人的网站怎么备案
  • 全网网站建设推广高校网站建设自查报告
  • 菜市场做建筑设计图库的网站设计做网站要用到ps吗
  • 家居在线设计网站渠道营销推广方案