Vue UI元素自定义描述列表组件的示例分析

  介绍

这篇文章主要介绍Vue UI元素自定义描述列表组件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体内容如下

效果图

 Vue UI元素自定义描述列表组件的示例分析

写在前面

写后台管理经常从列表点击查看详情,展示数据信息,UI元素虽然有表格组件,但是描述组件并没有,之前团队的成员遇到这种情况都自己去写样式,写起来也麻烦,而且每个人写出来的样式也不统一,破坏了项目的整体风格。
像是蚂蚁设计UI就有描述组件,用起来特别舒服,所以索性自己结合UI元素的el-row和el-col自己写了一个。

实现哪些功能

1,每行的高度根据改行中某一列的最大高度自动撑开
<强> 2,列宽度自动补全,避免最后一列出现残缺的情况 <强>
3支持纯文本与HTML插槽
4支持每行几列的设置
5支持每列宽度自定义
<强> 6支持动态数据重绘

组件设计

1,使用父子组件嵌套实现,父组件为e-desc,子组件为e-desc-item。
2, e-desc-item传递道具的标签和插槽的价值,使美元用槽。内容来显示DOM
3,利用el-row和el-col来实现整体组件布局

封装e-desc组件

& lt; template>   & lt;才能div 类=癲esc",:在   ,,,& lt; !——,标题,——比;   ,,,& lt; h2  v=皌itle",类=癲esc-title", v-html=皌itle"祝辞& lt;/h2>   ,,,& lt; el-row 类=癲esc-row"比;   ,,,,,& lt;槽/比;   ,,,& lt;/el-row>   & lt;才能/div>   & lt;/template>      & lt; script>   export  default  {   ,,名字:& # 39;EDesc& # 39;//才能,通过提供提供给子组件   provide 才能;(),{   ,,,return  {   ,,,,,labelWidth:, this.labelWidth,   ,,,,,专栏:,this.column,   ,,,,,大小:size   ,,,}   ,,},   ,,道具:{   ,,,//,数据源,监听数据重绘   数据:,,,,{   ,,,,,类型:,对象,   ,,,,,要求:,真的,   ,,,,,default  (), {   ,,,,,,,return  {}   ,,,,,}   ,,,},   ,,,//,标题   ,,,标题:,{   ,,,,,类型:,字符串,   ,,,,,默认值:,& # 39;& # 39;   ,,,},   ,,,//,边距   ,,,保证金:,{   ,,,,,类型:,字符串,   ,,,,,默认值:,& # 39;0 & # 39;   ,,,},   ,,,//,标签宽度   ,,,labelWidth:, {   ,,,,,类型:,字符串,   ,,,,,默认值:,& # 39;120 px # 39;   ,,,},   ,,,专栏:,{   ,,,,,//,每行显示的项目个数   ,,,,,类型:,数量,,字符串,   ,,,,,默认值:3   ,,,},   ,,,尺寸:,{   ,,,,,//,大小   ,,,,,类型:,字符串,   ,,,,,默认值:,& # 39;& # 39;   ,,,}   ,,},   ,,看:{   数据:,,,,{   ,,,,,handler  (), {   ,,,,,,,这个。nextTick美元((),=祝辞,{   ,,,,,,,,,//,筛选出子组件e-desc-item   ,,,,,,,,,const  dataSource  slots.default美元=,这。   ,,,,,,,,,const  dataList =, []   ,,,,,,,,,dataSource.forEach (item =祝辞,{   ,,,,,,,,,,,if  (item.componentOptions ,,, item.componentOptions.tag ===, & # 39; e-desc-item& # 39;), {   ,,,,,,,,,,,,,dataList.push (item.componentInstance)   ,,,,,,,,,,,}   ,,,,,,,,,})   ,,,,,,,,,//,剩余   ,,,,,,,,,let  leftSpan =this.column   ,,,,,,,,,const  len =dataList.length   ,,,,,,,,,dataList.forEach((项目,,指数),=祝辞,{   ,,,,,,,,,,,//,处理列与跨度之间的关系   ,,,,,,,,,,,//,剩余的列数小于设置的跨数   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Vue UI元素自定义描述列表组件的示例分析