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

网站开发流程怎么写wordpress赞的功能

网站开发流程怎么写,wordpress赞的功能,百度站长平台账号,福建嘉瑞建设工程有限公司网站由于table组件本身并不支持宽度自适应#xff0c;但实际项目需要#xff0c;而且多处有用到table组件#xff0c;所以尝试着自己来二次封装一下组件 想法 刚开始的想法很简单#xff0c;就是获取每一列中数据和标题在表格中的长度#xff0c;然后将当中最大的长度作为该列… 由于table组件本身并不支持宽度自适应但实际项目需要而且多处有用到table组件所以尝试着自己来二次封装一下组件 想法 刚开始的想法很简单就是获取每一列中数据和标题在表格中的长度然后将当中最大的长度作为该列的宽度就可以了。 但是我们怎么才能知道它们在表格中的长度呢 打开F12查看表格中的数据我们可以发现数据的外面包了一层span标签而且父元素设置了padding 那我就在想能不能自己手动创建一个span标签包裹数据然后通过offerWidth获取宽度呢 实践 说干就干 // calculateColumnWidth.js文件 const getTextWidth str {const span document.createElement(span)span.style.display inline-blockspan.style.visibility hiddenspan.style.fontSize 14pxspan.innerText strdocument.body.appendChild(span)const width span.offsetWidthdocument.body.removeChild(span)return width 36 15 }export const calculateColumnWidth (columns, data) {columns.forEach(c {if (c.type selection) returnconst arr data.map(d d[c.key])arr.push(c.title)// 比较某一列的所有值包含标题名c.width Math.max(...arr.map(d getTextWidth(d)))}) }这里的getTextWidth函数是用来计算每个数据应有的宽度加36是因为标签的父元素默认设置了左右padding为18px而这里加15是想数据不要占满整个表格左右留有一定的空间。值得注意的是如果没有修改table中的默认字体大小则字体大小要保持一致 而calculateColumnWidth函数是用来计算并设置每列的最大宽度的 尝试引入函数并使用watch来深度监听传入的data数据如果数据有变就会调用calculateColumnWidth函数从而更新columns这个数组对象中的宽度。由于这个table组件如果不传data也会展示表格如下图所以immediate需要设置为true让calculateColumnWidth函数在页面一加载就执行一次 最终实现宽度自适应的效果如下图 无数据时 有数据时 总结 二次封装table组件的源代码 !-- 二次封装table组件 --template!-- 表格 --Table v-bindattrs refchildReftemplate v-fork in Object.keys(slots) #[k] :keykslot :namek/slot/template/Table /templatescript setup import { calculateColumnWidth } from utils/calculateColumnWidth import { defineProps, ref, useAttrs, useSlots, watch } from vueconst attrs useAttrs() const slots useSlots() const childRef ref() const { widthAuto } defineProps({widthAuto: {type: Boolean,require: false,}, })console.log(attrs, attrs) console.log(slots, slots)// 计算宽度实现自适应表格内容宽度 widthAuto watch(() attrs.data,() {calculateColumnWidth(attrs.columns, attrs.data)},{ deep: true, immediate: true })const clearSelect () childRef.value.selectAll(false)//暴露方法 // eslint-disable-next-line no-undef defineExpose({clearSelect, }) /script父组件中使用使用widthAuto来控制是否要宽度自适应
http://www.w-s-a.com/news/570947/

相关文章:

  • 青岛黄岛区网站开发百度云盘登录入口
  • 建设银行甘肃省行网站房地产市场调研报告
  • js 网站制作合肥公司网站建设
  • 最好建网站系统的软件wordpress调用模版
  • 个人网站备案地址阿里云增加网站
  • 自己做网站要办手续吗重庆短视频制作公司排名
  • 哪个全球购网站做的好汉中门户网官网
  • 网站建设有哪几种wordpress 项目选项
  • 成都网站建设开发公司哪家好验证码插件 wordpress
  • 企业网站设计要点泰州市网站制作公司
  • 网站用户运营北京官方网站怎么做
  • 农业门户网站开发做首图的网站
  • wordpress 素材站模板怎么制作网站程序
  • 做ps合成的网站wordpress付费查看下载主题
  • 个人网站建设完整教程wordpress服务器搬迁
  • wordpress.主题广州 网站优化
  • 手机版网站怎样做推广如何用asp做视频网站
  • dede 网站打开慢七牛云 微信 打开 wordpress
  • 哪里网站建设公司比较好教育培训类网站模板
  • 中国建设银行官网首页网站wordpress小工具不能完全显示
  • 企业网站的开发流程是什么网站开发怎么销售
  • 现在网站还用asp做男科医院哪家好一些
  • 服装设计网站素材郑州汉狮做网站网络公司
  • 宜州做网站做仿制网站
  • 中山营销型网站厦门工程建设招聘信息网站
  • 网站开发 外包空心找回微信
  • 长沙市网站推广多少钱网站开发流程图和介绍
  • 网站后缀net施工企业自建自用的工程可以不进行招标是否正确
  • 鄂尔多斯市住房和城乡建设厅网站帮别人做网站赚钱6
  • 宜选科技就是帮人做网站动漫制作专业主修课程