Element-ui案例表单(快速入门)

入门: 

1.引入Element的 css,js和Vue.js的文件

<script src="js/vue.js"></script>
<script src="element-ui/lib/index.js"></script>
<link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css">

2.创建Vue的核心对象

<script>
    new Vue({
        el:"#app"
    })
</script>

3.官网复制Element组件代码

https://element.eleme.cn/#/zh-CN/component/button(Element-ui组件官网)

 Element布局:

Element中有两种布局方式:

1.layout布局:通过基础的23分栏,迅速简便的创建布局

 

2.Container布局容器:用于布局的容器组件,方便快捷的搭建页面的基本结构

 组件案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    .el-table .warning-row {
        background: oldlace;
    }

    .el-table .success-row {
        background: #f0f9eb;
    }
</style>
<body>
<div id="app">

    <template>
    <!--
          搜索表单
    -->
        <el-form :inline="true" :model="brand" class="demo-form-inline">
            <el-form-item label="当前状态">
                <el-select v-model="brand.status" placeholder="当前状态">
                    <el-option label="启用" value="1"></el-option>
                    <el-option label="禁用" value="0"></el-option>
                </el-select>
                <el-form-item label="企业名称">
                    <el-input v-model="brand.companyName" placeholder="企业名称"></el-input>
                </el-form-item>
                <el-form-item label="品牌名称">
                    <el-input v-model="brand.brandName" placeholder="品牌名称"></el-input>
                </el-form-item>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">查询</el-button>
            </el-form-item>
        </el-form>
    <!--
          批量删除和新增
    -->
        <el-row>
            <el-button type="danger" plain>批量删除</el-button>
            <el-button type="primary"  @click="dialogVisible = true"  plain>新增</el-button><!--dialogVisible = true 控制对话框是否展示-->
        </el-row>
    <!--
          添加数据对话框
    -->
        <el-dialog
                title="编辑品牌"
                :visible.sync="dialogVisible"
                width="30%">
            <el-form ref="form" :model="brand" label-width="80px">
                <el-form-item label="品牌名称">
                    <el-input v-model="brand.brandName"></el-input>
                </el-form-item>
                <el-form-item label="企业名称">
                    <el-input v-model="brand.companyName"></el-input>
                </el-form-item>
                <el-form-item label="排序">
                    <el-input v-model="brand.ordered"></el-input>
                </el-form-item>
                <el-form-item label="备注">
                    <el-input type="textarea" v-model="brand.description"></el-input>
                </el-form-item>
                <el-form-item label="状态">
                    <el-switch v-model="brand.status"
                               active-value="1"
                               inactive-value="0"></el-switch>
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="add">提交</el-button>
                    <el-button @click=" dialogVisible = false ">取消</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>
    <!--
          表格
    -->
        <el-table
                :data="tableData"
                style="width: 100%"
                :row-class-name="tableRowClassName"
                @selection-change="handleSelectionChange">
            <el-table-column
                    type="selection"
                    width="55"
                    align="center">
            </el-table-column>
            <el-table-column
                    type="index"
                    label="序号"
                    width="50"
                    align="center">
            </el-table-column>
            <el-table-column
                    prop="brandName"
                    label="品牌名称"
                    align="center">
            </el-table-column>
            <el-table-column
                    prop="companyName"
                    label="企业名称"
                    align="center">
            </el-table-column>
            <el-table-column
                    prop="ordered"
                    label="排序"
                    align="center">
            </el-table-column>
            <el-table-column
                    prop="status"
                    label="当前状态"
                    align="center">
            </el-table-column>
            <el-table-column
                    label="操作"
                    align="center">
                <el-row>
                    <el-button type="primary">修改</el-button>
                    <el-button type="danger">删除</el-button>
                </el-row>
            </el-table-column>
        </el-table>
    </template>

    <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="currentPage4"
            :page-sizes="[5, 10, 15, 20]"
            :page-size="5"
            layout="total, sizes, prev, pager, next, jumper"
            :total="400"
            background
            layout="prev, pager, next"
            :total="1000">
    </el-pagination>

</div>
<script src="js/vue.js"></script>
<script src="element-ui/lib/index.js"></script>
<link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css">

<script>
    new Vue({
        el: "#app",
        methods: {
            //表格内的东西,不知道是啥
            tableRowClassName({row, rowIndex}) {
                if (rowIndex === 1) {
                    return 'warning-row';
                } else if (rowIndex === 3) {
                    return 'success-row';
                }
                return '';
            },
            // 复选框选中后执行的方法,选中后发送的数据
            handleSelectionChange(val) {
                this.multipleSelection = val;
                //console.log( this.multipleSelection);
            },
            //新增数据,添加数据
           add(){
               console.log(this.brand);
           },
            //表单提交,异步请求,查询数据库
            onSubmit() {
                //console.log(this.brand);成功
            },
        },
        //每页显示的条数显示的变化,回调方法
        handleSizeChange(val) {
            console.log(`每页 ${val} 条`);
        },
        //当前页 发生了变化,执行当前页码变化的执行条数
        handleCurrentChange(val) {
            console.log(`当前页: ${val}`);
        },
        data() {
            return {
                //分页 之中的当前页码
                currentPage: 4,
                //添加数据对话框是否展示的标记,初始值为false
                dialogVisible: false,
                //搜索表单数据(品牌模型数据)
                brand: {
                    id:'',
                    brandName: '',
                    companyName: '',
                    ordered:"",
                    status: '',
                    description:"",
                },
                //复选框选中数据集合
                multipleSelection: [],
                //表格数据
                tableData: [{
                    brandName: '华为',
                    companyName: '华为科技有限公司',
                    ordered: '100',
                    status: '1',
                }, {
                    brandName: '华为',
                    companyName: '华为科技有限公司',
                    ordered: '100',
                    status: '1',
                }, {
                    brandName: '华为',
                    companyName: '华为科技有限公司',
                    ordered: '100',
                    status: '1',
                }, {
                    brandName: '华为',
                    companyName: '华为科技有限公司',
                    ordered: '100',
                    status: '1',
                }]
            }
        }
    })
</script>

</body>
</html>

样式:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想给世界留下 1bite 的印象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值