Vue.js 可排序表格 (Sortable & Searchable Table) 组件

可排序表格 (Sortable & Searchable Tables) 在网页和表单设计中非常常用。用户可以通过点击表头对将表格以该列做顺序或降序排列,也可以利用 Search Box 对表格内容进行筛选。这个组件曾被运用于 X-Ray Diffraction Analysis App 和 Extract Graph Data App 等等。

注册组件


注册 Sortable & Searchable Tables 组件和之前介绍注册其他组件的方法类似, 其实就是复制粘贴已封装好的代码到父级实例中。

<script type="text/x-template" id="sortable-table-template">
...
</script>

<script>
Vue.component('sortable_table', {
    template: '#sortable-table-template’,
…
});
</script>

调用组件


直接添加自定义标签 <sortable_table></sortable_table> 调用组件。

<sortable_table class="row"
                :rows="table_data"
                :columns="table_header"
                :filter-key="searchQuery"
                :selected="selected_rows"
                @update-table-data="onUpdateTableData"
                @update-table-selected="onUpdateTableSelected">
</sortable_table>

传递数据


利用 v-bind 动态绑定数据,其中searhQuery 为 search box 的默认内容,table_header 为表格的表头,table_data 为表格的数据, select_rows 为勾选的行号。另外 "onUpdateTableData:function" 和 "onUpdateTableSelected" 用于动态刷新表格的内容。

 data: function(){
        return {
            searchQuery: '',
            table_header: ['name', 'age', 'height', 'weight', 'color'],
            table_data: [
                {id: 1, name: 'Alice', age: 12, height: 155, weight: 45, color: '#ffffff'},
                {id: 2, name: 'Ben', age: 13, height: 170, weight: 60, color: '#cccccc'},
                {id: 3, name: 'Charlie', age: 17, height: 178, weight: 65, color: '#999999'},
                {id: 4, name: 'Daniel', age: 14, height: 168, weight: 58, color: '#666666'},
                {id: 5, name: 'Ethan', age: 11, height: 150, weight: 50, color: '#333333'},
            ],
            selected_rows: [],
        }
    },
...
 methods:{
        onUpdateTableData:function(new_table_data) {
            this.table_data = new_table_data;
        },
        onUpdateTableSelected:function(new_table_selected){
            this.table_selected = new_table_selected;
        },
    },
源代码

Github

(0)

相关推荐

  • 7个实用的 Vue.js 工具和库

    前端技术优选 昨天 以下文章来源于前端迷社区 ,作者小迷妹 大家好,我是为前端娱乐圈操碎了心的小迷妹,正宗前端开发一枚,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效 ...

  • vue.js的安装

    公司要开始分配给我做前后端分离项目了555555555555 让我一个java的去了解vue并且还要会搭建=-= 莫得办法那么就开始必不可少的安装环节吧: 第一步! 安装node.js: 首先进入官网 ...

  • .net core3.1 webapi + vue.js + axios实现跨域

    我所要讲述的是,基于.net core3.1环境下的webapi项目,如何去使用axios对接前端的vue项目 既然谈到axios,这里贴出axios的官方文档地址: http://www.axios ...

  • Vue.js权威指南

    一.遇见Vue.js 1.MVP,从MVC演化而来,Controller/Presenter负责逻辑的处理,完全把View和Model进行了分享,主要的程序逻辑在Presenter里实现,与具体的Vi ...

  • 揭秘 Vue.js 九个性能优化技巧

    这篇文章主要参考了 Vue.js 核心成员 Guillaume Chau 在 19 年美国的 Vue conf 分享的主题:9 Performance secrets revealed,分享中提到了九 ...

  • 邂逅Vue.js – 初始及安装

    邂逅Vue.js中要学习的内容大纲: 1.初识Vue.js (1)为什么学习Vue.js (2)简单认识一下Vue.js 2.Vuejs安装方式 (1)CDN引入 (2)下载和引入 (3)NPM安装管 ...

  • Vue.js开发移动端经验总结

    相对于PC端来说,移动端设备分辨率百花齐放,千奇百怪,对于每一个开发者来说,移动端适配是我们进行移动端开发第一个需要面对的问题. 在移动端我们经常可以在head标签中看到这段代码: <meta  ...

  • 细说 Vue.js 3.2 关于响应式部分的优化

    译过来就是 ref API 的读效率提升约为 260%,写效率提升约为 50% ,依赖收集的效率提升约为 40%,同时还减少了约 17% 的内存使用. 这简直就是一个吊炸天的优化啊,因为要知道响应式系 ...

  • Vue.js 是什么

    Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架. 声明式渲染->组件系统->客户端路由->集中式状态管理->项目构建 ...