美文网首页
vue3 elemnt Table 表格

vue3 elemnt Table 表格

作者: 小李不小 | 来源:发表于2021-06-30 22:55 被阅读0次
elemnt plus 支持vue3,但是官方用语法还是vue2,导致我们学习起来有点盲目,下面我们来看看vue3中怎么实现
image.png
<el-table
      :data="tableData"
      style="width: 100%"
       @selection-change="handleSelectionChange"
      >
      <!-- type = “selection” 增加选择功能 -->
      <el-table-column type="selection"></el-table-column>
      <el-table-column 
      v-for="item in columns"
        :key="item.prop"
        
        :prop="item.prop"
        :label="item.label"
         :formatter="item.formatter"
        width="180">
      </el-table-column>
<el-table-column
      fixed="right"
      label="操作"
      width="100">
// 编辑 删除想要在table中使用必须用蒙版,可看官方文档
      <template #default="scope">
        <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
        <el-button type="text" @click="handleDel(scope.row)" size="small">删除</el-button>
      </template>
    </el-table-column>
    </el-table>

<script>
import {reactive,ref,toRaw,getCurrentInstance} from 'vue'
//表单数据源  ref 和 reactive 使用意思两个差不多,定义一个变量,你可以这样想 const a=[1,2,3] 定义一个常量

// 渲染变量  prop  与数据源对应起来 拿prop 中的 user跟渲染源中user对应上就可以了
    const columns=reactive([{
            prop: 'user',
            label: '用户名id',
          }, {
            prop: 'name',
            label: '用户名',
          }, {
            prop: 'email',
            label: '用户邮箱',
          }, {
            prop: 'jiaose',
            label: '用户角色',
            formatter(row,column,value){
                return {
                    0:'管理员',
                    1:'普通用户'
                }[value]
            }
          },
           {
            prop: 'useractive',
            label: '用户状态',
            
          },
          {
            prop: 'time',
            label: '注册时间',
          },
           {
            prop: 'latetime',
            label: '最后登陆时间',
          }
          ])

//tab表哥数据源
        const tableData=ref([
            {
            user:'0',
            name: '2016-05-03',
            email: '王小虎',
            jiaose: '0',
            useractive: '普陀区',
            time: '上海市普陀区金沙江路 1518 弄',
            latetime: 200333
        },
        {
            user:'1',
            name: '2016-05-03',
            email: '王小爱',
            jiaose: '1',
            useractive: '中心区',
            time: '北京市普陀区金沙江路 1518 弄',
            latetime: 200333
        },
        {
            user:'2',
            name: '2016-05-03',
            email: '王小爱',
            jiaose: '1',
            useractive: '中心区',
            time: '北京市普陀区金沙江路 1518 弄',
            latetime: 200333
        },
        ]);
//表单校验 对应prop 
   const rules = {
//required: true 是必填意思  带*
        username: [{ required: true, message: "请输入用ID", trigger: "blur" }],
        password: [{ required: true, message: "请输入用户名", trigger: "blur" }],
         region: [
            { required: true, message: '请选择活动区域', trigger: 'change' }
          ],
    };

// vue3 ref 获取方式 
const  refruleForm=ref(null);

//编辑按钮 row 得到点击那一行的数据,可以吧对应的数据传给后台,然后后台做删除功能
const handleClick=(row)=>{
 console.log('操作编辑---',row)
        ElMessage.success({
            message: '删除成功',
            center: true
          });
}

// 操作删除 获取到id 通过数组的方式删除
const handleDel=(row)=>{
    console.log('操作删除---',row)
        ElMessage.success({
            message: '删除成功',
            center: true
          });
}

// 表格多选  看下面说明
const handleSelectionChange=(list)=>{
.//返回选择list的数据,以数组的方式返回
    console.log('表格多选---',list)
}

//定义变量一定要全部返回出去,不然ui界面得不到数据
    return{
     tableData,
   rules ,
columns,
handleDel,
handleClick,
refruleForm

}
</script>
多选说明
const handleSelectionChange=(list)=>{
//返回选择list的数据,以数组的方式返回
    console.log('表格多选---',list)
}
image.png

相关文章

  • vue3 elemnt Table 表格

    elemnt plus 支持vue3,但是官方用语法还是vue2,导致我们学习起来有点盲目,下面我们来看看vue3...

  • table表格

    table标签:表格 双标签 表格级(display:table) table有border width heig...

  • table布局方式与div+css布局的区别细讲

    表格布局(table): table表格拆分合并(colspan、rowspan) colspan横向合并表格必须...

  • html和css进阶二

    一、table标签 table的构成table表示表格开始表格结束tr表示表格中的行标签,一个表格中有多少行就应该...

  • CSS基本样式之表格

    1. 表格 给表格添加table-bordered(表格应用边框和斑马条纹) 给表格添加table-striped...

  • Bootstrap学习笔记(3)--表格\表单\图片

    Bootstrap表格 表格类: .table只会在表行之间增加横线; .table-striped会在表格行...

  • 标签(二)

    1.表格 table:表格 tr:table row,行 td: table dock,单元格 嵌套关系为tabl...

  • 表格 - Tables

    常规表格 给 标签设置 .table 类 条纹表格 增加设置 table-striped 类 带边框表格 增加...

  • Tailwind Table

    表格样式工具类 表格布局table layout CSS中table-layout属性用于设置表格布局的类型,即用...

  • HTML中的<table>

    table的作用 : 定义HTML文档中的表格 table的元素 标签给表格设置标题 标签定义表格的页头 定义表格...

网友评论

      本文标题:vue3 elemnt Table 表格

      本文链接:https://www.haomeiwen.com/subject/mkedultx.html