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

网站建设开发软件教程免费建站网站群

网站建设开发软件教程,免费建站网站群,外贸建设企业网站服务,怎么做网站镜像滚动表格封装 我们先设定接收的参数 需要表头内容columns,表格数据data,需要currentSlides来控制当前页展示几行 const props defineProps({// 表头内容columns: {type: Array,default: () > [],required: true,},// 表格数据data: {type: Array,d…
滚动表格封装
  1. 我们先设定接收的参数
    需要表头内容columns,表格数据data,需要currentSlides来控制当前页展示几行
const props = defineProps({// 表头内容columns: {type: Array,default: () => [],required: true,},// 表格数据data: {type: Array,default: () => [],},// 当前一页显示几行,超过几行开始滚动currentSlides: {type: Number,default: 5}
});
  1. 写好表格基本样式(这个不通用,可根据需求自行调整)
  2. 表格通常会有操作列,那么我们通过slot来实现,传递当前行的数据item,提供给点击事件
<slot v-if="props.columns[index].slot" :name="props.columns[index].name" :item="item"  />
  1. 封转滚动文字组件,文字超出则滚动显示
    详情可参考另一篇文章戳这里
<HorseRaceLamp:width="props.columns[index].width"font="14px AppleSystemUIFont":text="item[val]":speed="((item[val] && item[val].length) ? item[val].length : 1) * 0.5"
/>

表格完整代码如下:

<template><div class="table"><div class="row thead"><div v-for="item in props.columns" :key="item.name" :style="{ width: `${item.width}px` }">{{ item.label }}</div></div><div class="tbody"><Swiper :modules="modules" :autoplay="swiperOption.autoplay" direction="vertical" :slides-per-view="currentSlides" :space-between="11"><SwiperSlide v-for="(item, ind) in props.data" :key="ind" class="row"><template v-for="(val, index) in columnKeys"><slot v-if="props.columns[index].slot" :name="props.columns[index].name" :item="item"  /><div :title="item[val]" v-else :key="`${index}${val}`" :style="{ width: `${props.columns[index].width}px` }"><HorseRaceLamp:width="props.columns[index].width"font="14px AppleSystemUIFont":text="item[val]":speed="((item[val] && item[val].length) ? item[val].length : 1) * 0.5"/></div></template></SwiperSlide></Swiper></div></div>
</template><script setup>
import { ref, reactive } from 'vue';
import { Swiper, SwiperSlide } from "swiper/vue";
import { Autoplay } from "swiper";
import "swiper/css";
import HorseRaceLamp from '@/components/HorseRaceLamp.vue';const modules = [Autoplay];
const swiperOption = reactive({autoplay: {delay: 3000,disableOnInteraction: false,pauseOnMouseEnter: true,},
});const props = defineProps({// 表头内容columns: {type: Array,default: () => [],required: true,},// 表格数据data: {type: Array,default: () => [],},// 当前一页显示几行,超过几行开始滚动currentSlides: {type: Number,default: 5}
});
const columnKeys = ref([]);columnKeys.value = props.columns.map((item) => item.name);
</script><style lang="scss" scoped>
.table {width: 100%;height: 100%;color: #fff;font-size: 14PX;font-family: AppleSystemUIFont;.thead {background-color: rgb(21 77 160 / 20%);&.row {color: rgba(212, 237, 253, 1);font-size: 12PX;}}.row {display: flex;align-items: center;height: 28PX;padding: 0 30PX;> div {overflow: hidden;width: 100%;margin-right: 10PX;text-align: center;text-overflow: ellipsis;white-space: nowrap;&:nth-last-of-type(1) {margin-right: 0;}}}.swiper {width: 100%;height: 100%;}.tbody {box-sizing: border-box;width: 100%;height: calc(100% - 28PX);padding-top: 11PX;.row {position: relative;display: flex;align-items: center;cursor: pointer;}}
}
</style>

使用方式:

  • 需要给Table组件包裹一个父元素,自定义设置其宽高
<div class="content"><Table :columns="columns" :data="tableData" :currentSlides="6"><template #handler="{ item }"><div class="btn" @click="close(item)">关闭</div></template></Table></div>
// 需要传递的参数
const tableData = ref([])
const columns = [{ name: 'redRank', label: '红榜', width: 148 },{ name: 'blackRank', label: '黑榜', width: 148 },{ name: 'handler', label: '操作', slot: true },
];
// 自定义slot插槽操作事件
const close = (item) => {console.log(item)
}
  • 设置其宽高
.content {width: 446px;height: 250px;
}
http://www.yayakq.cn/news/941841/

相关文章:

  • 南沙网站制作wordpress 点图片链接
  • 衡水企业网站建设盈润企业网站管理系统
  • 我要学电脑哪里有短期培训班网络营销优化培训
  • 手机免费创建网站的软件北京到安阳的火车票时刻表查询
  • 居家养老网站建设软件开发培训学费是多少钱
  • 黄金网站软件app下载安装作品设计思路范文
  • 网站交互图片怎么做的环球影城排队太热了
  • 手机网站百度关键词排名网站建设都分几个阶段
  • 产品展示的手机网站哪些网站不能备案
  • 杭州企业网站seo互联网广告代理商好做吗
  • 推荐黄的网站淘宝联盟网站建设源码
  • 在线设计 网站源码键盘事件对网站交互
  • 河南省建设信息网站微商运营推广
  • 介绍做茶工艺的网站wordpress不显示报错信息
  • 网站验证码体验投资集团网站建设方案
  • 炫丽的网站wordpress 文章 置顶
  • 企业网站建设818gx各大网站搜索引擎提交入口
  • 松山湖网站建设公司手机上怎么上传网站
  • 动态电子商务网站 制作wordpress cms系统
  • 只做网站的人员工资环保产品企业网站建设
  • 微网站开发北京江西赣州简介
  • 长春站是火车站还是高铁站惠州宣传片制作公司
  • 会泽做网站企业网站设计解决方案
  • 投资网站策划wordpress小工具最近评论
  • 手机在线编程网站湛江免费建站公司
  • 用dw做旅游的网站的设计网站内页修改关键字
  • 网站建设是由什么组成的个人博客html
  • 做兼职工作上哪个网站招聘网站模版建设
  • 汽车4s店网站建设策划统计局宣传工作总结 网站建设
  • 韩国购物网站模板公司平台