介绍组件设计
这篇文章主要介绍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 nullVue UI元素自定义描述列表组件的示例分析