首页 > 其他分享 >vue+iviews 动态表格(table组件)

vue+iviews 动态表格(table组件)

时间:2022-11-14 22:55:57浏览次数:54  
标签:vue name res key address table iviews data columns

   iviews官网上关于table的使用方法是固定表头的使用方法,如何生成动态的table网上找了好多也没有特别合适的,综合几位博主的文章经过尝试终于实现了,分享出来供大家参考

一、先看官网上的样例

官网上columns是固定好的,自己实现的时候只需要动态的加载data里的数据就可以

 

 

<template>
    <Table :columns="columns" :data="data"></Table>
</template>
<script>
    export default {
        data () {
            return {
                columns: [
                    {
                        title: 'Name',
                        key: 'name'
                    },
                    {
                        title: 'Age',
                        key: 'age'
                    },
                    {
                        title: 'Address',
                        key: 'address'
                    }
                ],
                data: [
                    {
                        name: 'John Brown',
                        age: 18,
                        address: 'New York No. 1 Lake Park',
                        date: '2016-10-03'
                    },
                    {
                        name: 'Jim Green',
                        age: 24,
                        address: 'London No. 1 Lake Park',
                        date: '2016-10-01'
                    },
                    {
                        name: 'Joe Black',
                        age: 30,
                        address: 'Sydney No. 1 Lake Park',
                        date: '2016-10-02'
                    },
                    {
                        name: 'Jon Snow',
                        age: 26,
                        address: 'Ottawa No. 2 Lake Park',
                        date: '2016-10-04'
                    }
                ]
            }
        }
    }
</script>

二、自己的样例

 

 

 

<template>
    <div>
        <Table :columns="columns" :data="data1"></Table>
    </div>
</template>
<script>
    //调用后端的方法
    import { functionOne } from '@/network/index.js'; 
    export default {
        data() {
            return {
                columns: [],
                data1: []

            }
        },
        methods: {
            setcolumns() {
                const paramter = {
                    sql: 'SELECT USER_NAME,LOGIN_ID FROM  USER_INFO_T',
                };
                //动态表头
                let keys = [];
                functionOne(paramter).then(res => {
                        //数据清空
                        this.columns = [];
                        if (res.data.length > 0) {
                            let obj = res.data[0];
                            for (var key in obj) {
                                keys.push(key);
                                //将表头数据放入columns
                                this.columns.push({
                                    title: key + '',
                                    key: key + ''
                                });
                            }
                        }

                    })
                    .catch(error => {});


                functionOne(paramter).then(res => {
                        //数据清空
                        this.data1 = [];
                        //定义放入table组件的数据
                        let retrunValue = '{}';
                        for (var i = 0; i < res.data.length; i++) {
                            //遍历数组
                            let retrunValue = {};
                            keys.forEach(function(value, key, arr) {
                                //知识点一、javascript 表示对象键名的方式有两种: .key 或者 ['key'] 这是里动态的列所以使用后一种方式
                                //给json对象添加属性
                                retrunValue[value] = res.data[i][value];
                                /*
                                知识点二、遍历数组的知识点
                                var a = [1,2,3];
                                a.forEach(function(value,key,arr){
                                  console.log(value)    // 结果依次为1,2,3
                                  console.log(key)      // 结尾依次为0,1,2
                                  console.log(arr)      // 三次结果都为[1,2,3],该参数貌似没什么用
                                })
                                */
                            });
                            this.data1.push(retrunValue);
                        }
                    })
                    .catch(error => {});
            },

 

        }
    }
</script>
 

 

标签:vue,name,res,key,address,table,iviews,data,columns
From: https://www.cnblogs.com/yclh/p/16890841.html

相关文章

  • ubuntu的iptables开机自动加载规则文件
    1、写一些规则sudoiptables-AINPUT-ptcp--dport80-jACCEPTsudoiptables-IINPUT-ptcp--dport3306-jREJECT2、保存到/etc/iptables.rules文件中sudo......
  • Vue2.x下的各组件如何传递信息?(不使用Vuex)
    Vue2(选项式)一,父组件向子组件传递数据:介绍:在引用的子组件中定义自定义属性msg与user.可以通过v-bind绑定要发送的数据。  在子组件中使用props接收自定义属性msg......
  • vue + el-menu 动态加载 一二级菜单 侧边栏
    1.HTML<template><divclass="container"><divclass="top">上</div><divclass="main"><!--动态加载侧边栏首先分为可折叠的......
  • 65.说下vue3的使用感想(说些vue3对比vue3的方便之处)
    vue3使用了组合式API,setup替换了选项式api,不需要在多个api里面写代码了,而且使用了setup的语法糖,可以更加方便写代码;vue3使用proxy替代了Object.defineProperty实现数......
  • Objective-C语法之NSDictionary和NSMutableDictionary
    Java有Map,可以把数据以键值对的形式储存起来,取值的时候通过key就可以直接拿到对应的值,方便快捷。在Objective-C语言中,词典就是做这样的事情的,和NSArray一样,一个词典对象也能......
  • Objective-C语法之NSSet和NSMutableSet
    NSSet和NSMutableSet是无序的,但是它保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表,所以可以常数时间内查找一个数据。 1、NSSet的使用[NS......
  • 快速体验 Flink Table Store进阶篇
    在本地安装单机版本,能够实现快速体验FlinkTableStore的目的,本文以Flink1.15.2、flink-table-store-dist-0.2.1、flink-shaded-hadoop-2-uber-2.8.3-10.0和Kafka3.......
  • 58. vue常用的api
    1. nextTick 使用场景:通过异步渲染的页面解构不能直接dom操作,要使用nextTick(延迟回调)等待一下;nextTick的作用:感知dom的更新完成,类似于updated;2.set用来追加响......
  • vue脚手架的使用
    vue脚手架的使用搭建vue脚手架环境1.傻瓜式安装node:官网下载:https://nodejs.org/zh-cn/2.安装cnpm:>:npminstall-gcnpm--registry=https://registry.npm.tao......
  • vue input数据动态脱敏
    页面中放两个输入框,一个绑定真实数据、一个绑定脱敏数据,仅展示脱敏数据。<van-fieldv-model="person.cardNo"v-show="false"name="证件号码"......