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

承德网站制作方案母婴类网站怎么建设

承德网站制作方案,母婴类网站怎么建设,网络服务商的责任,做电商网站一般需要什么流程虚拟滚动主要是在有限范围内渲染想要显示的数据,主要体现在懒加载数据和动态渲染上。如何提高虚拟滚动的操作性呢?请看本章解析 1.什么是虚拟滚动?代码如何实现? VXE-Table提供了一种名为“虚拟滚动”的功能,该功能可…

虚拟滚动主要是在有限范围内渲染想要显示的数据,主要体现在懒加载数据和动态渲染上。如何提高虚拟滚动的操作性呢?请看本章解析

1.什么是虚拟滚动?代码如何实现?

VXE-Table提供了一种名为“虚拟滚动”的功能,该功能可以处理大量数据的渲染,避免了 DOM 元素过多导致的性能问题(最大可以支撑 5w 列、30w 行)。

在模板中使用 标签,并设置scroll-y(纵向)/scroll-x(横向)中的enabled属性为 true(ture为开启,false为关闭,默认为关闭)。
设置 height 属性以限制表格的高度。
设置 row-height 属性以指定每行的高度。

        <vxe-tableborderheight="200" //表格的高度row-height="50" //行的高度:scroll-y="{enabled: true}" //开启纵向虚拟滚动:data="tableData"><vxe-column type="seq" width="100"></vxe-column><vxe-column field="name" title="Name" sortable></vxe-column><vxe-column field="sex" title="Sex"></vxe-column><vxe-column field="age" title="Age"></vxe-column><vxe-column field="address" title="Address" show-overflow></vxe-column></vxe-table>

提示:
启用虚拟滚动后:show-overflow,show-header-overflow,show-footer-overflow 参数将根据不同场景各自触发生效,无法取消;如果需要支持,需将虚拟滚动关闭
性能优化:横向虚拟滚动由列宽决定性能,每一列的列宽越大就越流畅;纵向虚拟滚动由行高决定性能,每一行的高度越高就越流畅

2.滚动条定位

“虚拟滚动”的本质是动态渲染,所以如果想操作未渲染的自定义组件时,就需要将其跳转到响应的单元格位置,否则无法获取到未渲染数据行的id或者ref等各种信息,也就自然无法进行响应。所以滚动条定位就是单元格中自定义组件动态响应的前提。

首先需要为了访问vxe-table的DOM,需要定义一个ref

        <vxe-tableborderref="xTable" //设置指向vxe-table的引用height="200" //表格的高度row-height="50" //行的高度:scroll-y="{enabled: true}" //开启纵向虚拟滚动:data="tableData"><vxe-column type="seq" width="100"></vxe-column><vxe-column field="name" title="Name" sortable></vxe-column><vxe-column field="sex" title="Sex"></vxe-column><vxe-column field="age" title="Age"></vxe-column><vxe-column field="address" title="Address" show-overflow></vxe-column></vxe-table>

然后在需要进行滚动条定位的地方加上如下代码

      setTimeout(() => {// x:是期望滚动到位置水平轴上距元素左上角的像素。// y:是期望滚动到位置竖直轴上距元素左上角的像素。// 回到滚动条顶端的代码就是 this.$refs.xTable.scrollTo(0, 0)// 跳转到第20行的代码就是 this.$refs.xTable.scrollTo(0, 行高 * 20)this.$refs.xTable.scrollTo(x, y)}, 50)

提示:如果想要操作的数据行不在虚拟滚动队列(画面上显示的数据只是虚拟滚动队列里的一部分)里,是不会被渲染的。所以无法获取对应的DOM。
例如:画面上显示了1到5行,虚拟滚动队列里是1到8行。当你想要更改第20行时,需要先跳转到第20行,不然无法更改第二十行的样式等元素。
注:this.$refs.xTable.getTableData()可以查看目前的虚拟滚动队列

3.对单元格中的组件进行样式变更

如果想在单元格中对自定义的组件进行动态响应,例如焦点聚焦,更改样式等。就必须要在滚动条定位是动态响应的前提下进行。

首先在单元格中自定义一个input控件,并为其创建动态ref。

        <vxe-tableborderref="xTable" //设置指向vxe-table的引用height="200" //表格的高度row-height="50" //行的高度:scroll-y="{enabled: true}" //开启纵向虚拟滚动:edit-config="{trigger: 'click', mode: 'cell', showIcon: false}"//单击可编辑单元格:data="tableData"><vxe-column field="name" title="Name" width="260" ><template  #default="{ row, rowIndex }"><div><input:ref="'name'+rowIndex"//动态reftabindex="0"v-model="row.name"type="text"maxlength="17"//最大入力17位></div></template></vxe-column></vxe-table>

在想要实现动态响应的地方添加如下代码

      setTimeout(() => {this.$refs.xTable.scrollTo(0, 行高 * 响应行)//滚动条跳转到响应行}, 50)setTimeout(() => {this.$refs['name' + 响应行].focus()//焦点落在相应行的input控件上this.$refs['name' + 响应行].style.backgroundColor = '#fcd4d4'//input控件背景变红}, 100)//例如 行高20的表格,想要让第110行的name单元格动态响应,代码如下setTimeout(() => {this.$refs.xTable.scrollTo(0, 20* 110)}, 50)setTimeout(() => {this.$refs['name' + 110].focus()this.$refs['name' + 110].style.backgroundColor = '#fcd4d4'}, 100)

4.虚拟样式缓存

与上述2和3不同的是,vxe-table中自带的方法可以不用担心虚拟滚动导致无法更改样式,vxe-table会在方法施行时对样式进行虚拟缓存,当渲染时默认渲染最新样式。拿单元格改色做例子。

引入更改单元格样式的方法

        <vxe-tableborderref="xTable" //设置指向vxe-table的引用height="200" //表格的高度row-height="50" //行的高度:cell-style="tableCellStyle" // 调用单元格样式动态响应的方法:scroll-y="{enabled: true}" //开启纵向虚拟滚动:data="tableData"><vxe-column type="seq" width="100"></vxe-column><vxe-column field="name" title="Name" sortable></vxe-column><vxe-column field="sex" title="Sex"></vxe-column><vxe-column field="age" title="Age"></vxe-column><vxe-column field="address" title="Address" show-overflow></vxe-column></vxe-table>

在tableCellStyle方法中实现动态样式

	// rowIndex 当前行数// column 列集合tableCellStyle ({ rowIndex, column}) {let rowStyle = {}rowStyle.backgroundColor = '#fff !important'// 单元格背景默认为白色if (column.field === 'name' && rowIndex === 20) { // 如果是第20行的name列单元格rowStyle.backgroundColor = '#fcd4d4 !important'// 单元格背景为红色} return rowStyle},
http://www.yayakq.cn/news/763158/

相关文章:

  • 哪些网站可以用来做百科参考seo优化网站源码
  • 网站备案被注销 接入商福建省建设工程招投标信息网
  • 大庆网站设计辽宁建设工程信息网官网 a类业绩
  • 家装网站建设案例中国最好的室内设计网
  • 大连做网站优化做网站为什么要用源码
  • php做网站的重点扫码点餐小程序怎么制作
  • 发布网站后备案淘宝付费推广
  • 网站目录有什么意义黄骅市中医医院
  • 网站开发方式哪四种做公寓酒店跟网站合作有什么技巧
  • 国际网站哪里做北京制作app
  • 中国建设银行官网站积分抽奖临沂网站优化
  • 巩义网站建设定制wordpress阅读数量
  • 青海网站开发创世做的网站源码
  • 南通建设信息网站怎样做一个网址链接
  • 网站源码制作九龙坡做网站
  • 怎么在电脑上自己做网站烟台开发区人才网官网
  • 注册网站验证码wordpress安装主题后无法查看媒体
  • 长沙网站排名技巧wordpress自动插件
  • 怎么在阿里做网站网站建设报价word文档
  • 如何仿网站模板百度指数分析平台
  • 做一个flash网站多少钱wordpress淘宝评论调用插件
  • 哪家成都公司做网站阜宁有做网站的吗
  • 中国建设银行官方网站 认证重庆欧勒精细陶瓷有限公司网站策划书
  • 以营销导向型建设网站方案如何在淘宝上接单网站建设
  • 支持付费下载系统的网站模板或建站软件wordpress 缓存用什么
  • 如何将网站上传到空间游戏logo设计网站
  • 惠州酒店网站建设wordpress拒绝服务
  • 地区汽车修理网站建设wordpress10万数据
  • 静海商城网站建设建设一个网站需要哪些知识
  • 暂时没有域名怎么做网站做二手房的网站技巧