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 删除数据库,佛山学网页设计要怎样收费,sql数据库改名,??外免费vps服务器,xiu插件,web前端页面布局框架,小红书 爬虫,php7.0,学seo优化,springboot跨域放行,火车头 系统标签,网站cms系统 开源框架,网页图片滑动箭头图片轮播代码,织梦模板写php,php后台管理系统模板,页面布局选项卡,thinkphp后台管理系统,多多淘宝客返利程序lzw
步骤一
先来个基本的表格展示
官例的tableData
tableData: [{ date: -05-02, name: 王小虎, address: 上海市普陀区金沙江路 1518 弄}, { date: -05-04, name: 王小虎, address: 上海市普陀区金沙江路 1517 弄}, { date: -05-01, name: 王小虎, address: 上海市普陀区金沙江路 1519 弄}, { date: -05-03, name: 王小虎, address: 上海市普陀区金沙江路 1516 弄}]
table.vue
步骤二
简化一下表格:
//table.vue export default{ name: able, data(){ return{ tableData:[...], tableKey: [{ name: date, value: 日期 },{ name: 姓名, value: ame },{ name: 地址, value: address }] } }}
步骤三
复用table.vue就是————给它数据的同时告诉它我的字段名呗
新建一个父组件sl_table.vue
//sl_table.vue import Table from @/components/tableexport default{ name: sl-table, data(){ return { tableData: [...] tableKey: [{ name: date, value: 日期 },{ name: 姓名, value: ame },{ name: 地址, value: address }] } }, components: { sl-table: Table }}
table.vue就更简单了
//table.vue export default{ name: able, data(){ return{} }, props:[ ableData, ableKey],}
步骤四
可以根据需求修改table的形式
列宽度
这个较为简单,可以直接加个属性
//sl_table.vue... data(){ return { tableData: [...] tableKey: [{ name: date, value: 日期, width: 80 },{ name: 姓名, value: ame, 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: ame,operate: false },{name: 地址,value: address,operate: false }] } }, filters: { DateFilter(){...} }...
表格展开行
类似宽度,只要sl_table.vue传入一个isExpand的属性。这里加个每次只能展开一行的效果:
//sl_table.vue {{...expand something}} ...
table.vue
//table.vue ...props: [ ableData, ableKey,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表格固定表头且表头随横向滚动而滚动