el-button入门学习

本文详细介绍了Element UI库中的各种按钮类型(primary, info, warning, danger, success)、形状(default, plain, round, circle),以及文本按钮、禁用状态、图标位置、按钮组、加载状态和不同尺寸的实现。通过实例展示了如何创建和定制美观且功能丰富的前端按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 学习内容
    1.按钮颜色样式:primary,info,warning,danger,success
    2.按钮形状样式:default,plain,round,circle
    3.文本按钮:type=’text’
    4.禁用按钮关键字 disabled
    5.带图标的按钮 右图标使用i标签+class,左图标使用icon属性设置
    6.按钮组 el-button-group
    7.加载按钮关键字 loading
    8.按钮大小关键字 size
  • 代码效果图
    代码效果图
  • 代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
    <div id='app'>
        <!-- disabled或:disabled='true'为禁用按钮 -->
        <!-- 矩形按钮:默认 -->
        <el-row>
            <el-button>取消或搜索按钮</el-button>
            <el-button type='info'>详情按钮</el-button>
            <el-button type='primary'>确认按钮</el-button>
            <el-button type='warning'>修改按钮</el-button>
            <el-button type='danger' disabled>新增或删除按钮</el-button>
            <el-button type='success'>安全操作按钮</el-button>
        </el-row>
        <!-- 朴素按钮:plain -->
        <el-row>
            <el-button plain>取消按钮</el-button>
            <el-button type='info' plain>详情按钮</el-button>
            <el-button type='primary' plain>确认按钮</el-button>
            <el-button type='warning' plain>修改按钮</el-button>
            <el-button type='danger' plain disabled>新增或删除按钮</el-button>
            <el-button type='success' plain>安全操作按钮</el-button>
        </el-row>
        <!-- 椭圆按钮:round -->
        <el-row>
            <el-button round>取消按钮</el-button>
                <el-button type='info' round>详情按钮</el-button>
                <el-button type='primary' round>确认按钮</el-button>
                <el-button type='warning' round>修改按钮</el-button>
                <el-button type='danger' round :disabled='true'>新增或修改按钮</el-button>
                <el-button type='success' round>安全操作按钮</el-button>
        </el-row>
        <!-- 圆形图标按钮:circle+icon='el-icon-...' -->
        <el-row>
            <el-button icon='el-icon-search' circle></el-button>
            <el-button type='warning' icon='el-icon-edit' circle></el-button>
            <el-button type='info' icon='el-icon-message' circle></el-button>
            <el-button type='primary' icon='el-icon-check' circle></el-button>
            <el-button type='danger' icon='el-icon-delete' circle :disabled='false'></el-button>
            <el-button type='success' icon='el-icon-check' circle ></el-button>
        </el-row>
        <!-- 文字按钮:type:'text' -->
        <el-row>
            <el-button type='text'>文字按钮</el-button>
            <el-button type='text' :disabled='true'>文字按钮</el-button>
        </el-row>
        <!-- 图标文字组合按钮 -->
        <el-row>
            <el-button type='primary' icon='el-icon-edit'></el-button>
            <el-button type='primary' icon='el-icon-search'>搜索</el-button>
            <el-button type='primary'>上传<i class='el-icon-upload el-icon--right'></i></el-button>
        </el-row>
        <!-- 按钮组 el-button-group标签 -->
        <el-row>
            <el-button-group>
                <el-button type='primary' icon='el-icon-arrow-left'>上一页</el-button>
                <el-button type='primary'>下一页<i class='el-icon-arrow-right el-icon--right'></i></el-button>
            </el-button-group>
            <el-button-group>
                <el-button type='primary' icon='el-icon-edit'></el-button>
                <el-button type='primary' icon='el-icon-share'></el-button>
                <el-button type='primary' icon='el-icon-delete'></el-button>
            </el-button-group>
        </el-row>
        <!-- 加载按钮 :loading='true'-->
        <el-row>
            <el-button type='primary' :loading='true'>加载中</el-button>
        </el-row>
        <!-- 不同尺寸按钮 size='medium/small/mini' -->
        <el-row>
            <el-button>默认按钮</el-button>
            <el-button size='medium'>中等按钮</el-button>
            <el-button size='small'>小型按钮</el-button>
            <el-button size='mini'>超小按钮</el-button>
        </el-row>
    </div>
</body>
</html>
<script>
    let vm = new Vue({
        el:'#app'
    })
</script>
<style>
    .el-row {
        margin-bottom: 20px;

        &:last-child {
            margin-bottom: 0;
        }
    }
</style>
<template> <div class="app-container"> <!-- 顶部操作按钮 --> <div class="toolbar"> <el-button type="primary" @click="handleAdd">新增设备</el-button> <el-button type="danger" @click="handleDelete">批量删除</el-button> <el-button @click="handleExport">导出数据</el-button> </div> <!-- 设备列表 --> <el-table :data="devices" style="width: 100%" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" /> <el-table-column label="序号" width="80"> <template #default="{ $index }"> {{ $index + 1 }} </template> </el-table-column> <el-table-column prop="type" label="设备类型" width="150" /> <el-table-column prop="standardCount" label="标准数量" width="120" /> <el-table-column prop="updatedBy" label="更新人" width="120" /> <el-table-column prop="updatedAt" label="更新时间" width="180"> <template #default="scope"> {{ formatTime(scope.row.updatedAt) }} </template> </el-table-column> <el-table-column label="操作" width="180"> <template #default="scope"> <el-button size="small" @click="handleEdit(scope.row)"> 编辑</el-button> <el-button type="danger" size="small" @click="handleDelete(scope.row)"> 删除</el-button> </template> </el-table-column> </el-table> </div> </template> <script> import { ref } from 'vue'; import { ElMessage } from 'element-plus'; export default { setup() { const devices = ref([ { id: 1, type: '服务器', standardCount: 20, updatedBy: 'admin', updatedAt: '2024-05-20T14:30:00Z' }, // 其他设备数据... ]); const selectedRows = ref([]); const handleAdd = () => { // 新增设备逻辑 ElMessage('新增设备功能待开发'); }; const handleDelete = (row) => { if (row) { // 单行删除 devices.value = devices.value.filter(d => d.id !== row.id); } else { // 批量删除 devices.value = devices.value.filter(d => !selectedRows.value.includes(d)); selectedRows.value = []; } ElMessage.success(' 删除成功'); }; const handleEdit = (row) => { // 编辑设备逻辑 ElMessage(`编辑设备ID: ${row.id}`); }; const handleExport = () => { // 导出数据逻辑 ElMessage('导出功能待开发'); }; const handleSelectionChange = (rows) => { selectedRows.value = rows; }; const formatTime = (timestamp) => { const date = new Date(timestamp); return date.toLocaleString(); }; return { devices, handleAdd, handleDelete, handleEdit, handleExport, handleSelectionChange, formatTime }; } }; </script> <style> .app-container { padding: 20px; height: 100vh; display: flex; flex-direction: column; } .toolbar { margin-bottom: 20px; display: flex; gap: 10px; } .el-table { flex: 1; } </style>
06-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值