web前端|js教程element-ui,Table,组件web前端-js教程本文主要介绍了VUEelement-ui写个复用Table组件的示例代码,具有一定的参考价值,感兴趣的
web前端|js教程
element-ui,Table,组件
web前端-js教程
本文主要介绍了VUE element-ui 写个复用Table组件的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
家路由 源码科技公司,vscode所有插件,ubuntu终端中怎么复制粘贴,tomcat中std,sqlite 修改指定行,图标动画插件,前端框架的生命周期,缩短爬虫时间的方法,zend加密 php,河北网页seo,网站 手机自动切换,手机宣传网页模板,wordpress 单页模板lzw
饿了么的table组件功能很强大,对于项目中的各种表格基本够用,但是……个人对于它以列为单位的操作不习惯 =。=所以改成了另一种方式(我不会告诉你其实本质没变)。
医药销售管理系统程序源码,Ubuntu安装时ACp,爬虫stata简书,php小数加法,承德seo电话lzw
项目中表格较多,所以复用性最重要
最土 源码,vscode骚操作,ubuntu精简版,eclipse没有tomcat9,sqlite 删除数据库,佛山学网页设计要怎样收费,sql2008数据库改名,??外免费vps服务器,xiu插件,web前端页面布局框架,小红书 爬虫,php7.0,学seo优化,springboot跨域放行,火车头 系统标签,网站cms系统 开源框架,网页图片滑动箭头图片轮播代码,织梦模板写php,php后台管理系统模板,页面布局选项卡,thinkphp后台管理系统,多多淘宝客返利程序lzw
步骤一先来个基本的表格展示
官例的tableData
tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄'}, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄'}, { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄'}]
table.vue
步骤二
简化一下表格:
//table.vue export default{ name: 'table', data(){ return{ tableData:[...], tableKey: [{ name: 'date', value: '日期' },{ name: '姓名', value: 'name' },{ name: '地址', value: 'address' }] } }}
步骤三
复用table.vue就是————给它数据的同时告诉它我的字段名呗
新建一个父组件sl_table.vue
//sl_table.vue import Table from '@/components/table'export default{ name: 'sl-table', data(){ return { tableData: [...] tableKey: [{ name: 'date', value: '日期' },{ name: '姓名', value: 'name' },{ name: '地址', value: 'address' }] } }, components: { 'sl-table': Table }}
table.vue就更简单了
//table.vue export default{ name: 'table', data(){ return{ } }, props:['tableData','tableKey'],}
步骤四
可以根据需求修改table的形式
列宽度
这个较为简单,可以直接加个属性
//sl_table.vue... data(){ return { tableData: [...] tableKey: [{ name: 'date', value: '日期', width: 80 },{ name: '姓名', value: 'name', width: 80 },{ name: '地址', value: 'address' }] } },...
table.vue
//table.vue......
自定义模板列
如果我们需要告诉组件哪个是自定义的列,所以添加一个属性operate
table.vue
//sl_table.vue {{ scope.row.date | DateFilter }} ... data(){ return { tableData: [...] tableKey: [{ name: 'date', value: '日期', operate: true },{ name: '姓名', value: 'name', operate: false },{ name: '地址', value: 'address', operate: false }] } }, filters: { DateFilter(){...} }...
表格展开行
类似宽度,只要sl_table.vue传入一个isExpand的属性。这里加个每次只能展开一行的效果:
//sl_table.vue {{...expand something}} ...
table.vue
//table.vue ...props: ['tableData','tableKey','isExpand','isExpandOnly'],methods: { handleExpand(row,is_expand){ if(this.isExpand && this.isExpandOnly){ this.$refs.raw_table.store.states.expandRows = expanded ? [row] : [] } }}
其他的(排序、多选)操作也是类似添加。。。多不赘述。
使用DataTable插件实现异步加载数据详解
HTML的table鼠标拖拽排序该如何实现
JS实现table表格固定表头且表头随横向滚动而滚动