zoukankan      html  css  js  c++  java
  • 使用vue+elementUI组件实现表格自动完成

    项目任务,根据 不同的数据,自动生成,合适的表格

    项目如图:

    ①分析:

    返回数据有两种,标题+文字说明、标题+超链接。在文字说明中分为短文字、长文字。综合,返回数据可以分为三种形式来展示。

    ②思路:

    定义三个组件,在主页面中遍历得到的数据,判断该条数据类型,选择当前使用哪个组件来显示。

    ③步骤:

    1.定义双列表行,也就是一行显示两条数据,新建一个single.vue文件,设置行内显示占比50%;(5+7=12 、12/24 = 50%),使用<el-row>包住<el-col>设置自动换行可以自动换行显示数据

    <template>
        <div>
            <el-col :span="5">
                <div class="grid-content">
                    {{ title }}
                </div>
            </el-col>
            <el-col :span="7">
                <div class="grid-content left">
                    {{ content }}
                </div>
            </el-col>
        </div>
    </template>
    
    <script>
    export default {
        name:'Single',
        props:{
            msg: String,
            title:String,
            content:String,
        }
    }
    </script>

    2.新建文件夹显示一行大数据。Double.vue文件。为什么在<el-col>外面加一层<el-row>呢?如果这个数据前面是只剩12给他,需要大数据自动换行,单独占一行,保持表格不会乱。

    <template>
        <div>
            <el-row> //非常重要
                <el-col :span="5">
                    <div class="grid-content">
                        {{ title }}
                    </div>
                </el-col>
                <el-col :span="19">
                    <div class="grid-content left">
                        {{ content }}
                    </div>
                </el-col>
            </el-row>
        </div>
    </template>
    
    <script>
    export default {
        name:'Double',
        props:{
            msg: String,
            title:String,
            content:String,
        }
    }
    </script>

    3.新建超链接界面,btn.vue

    <template>
        <div>
            <el-col :span="5">
                <div class="grid-content">
                    {{ title }}
                </div>
            </el-col>
            <el-col :span="7">
                <div class="grid-content left">
                    <a v-bind:href="url" style="color:#67C23A;text-decoration:none;">点击查看</a>
                </div>
            </el-col>
        </div>
    </template>
    
    <script>
    export default {
        name:'Btn',
        props:{
            title:String,
            url:String,
        }
    }
    </script>

    好。现在三个组件都 完成了,接下来在主页面中循环数据,判断数据类型,显示不同的组件

    1.引入组件

    import Single from './Single';
    import Double from './Double';
    import Btn    from './Btn';

    在script中使用

    components:{
            Single,
            Double,
            Btn
        },

    2.循环

    <el-row>
         <div v-for="item in tableData">
                <Single v-if="(item.value)!== undefined && (item.button)== undefined && (item.value).length < 15 " v-bind:title="item.title"   v-bind:content="item.value" />
                <Double v-if="(item.value)!== undefined && (item.button)== undefined && (item.value).length >= 15 "  v-bind:title="item.title"   v-bind:content="item.value" />
                <Btn   v-if="(item.button)!== undefined"  v-bind:title="item.title" v-bind:url="item.button.url" />
         </div>
    </el-row>

    完成~~~~~~~~

  • 相关阅读:
    gradle build scan 插件使用
    gradle 配置java 项目maven 依赖
    gradle 插件
    gradle java 简单项目使用
    gradle 命令行
    gradle wrapper 简单使用
    gradle 安装试用
    linux 使用asciinema 进行命令行屏幕录制共享
    ansible安装基本使用
    ansible playbook 使用
  • 原文地址:https://www.cnblogs.com/blog-zy/p/10831978.html
Copyright © 2011-2022 走看看