记录一次vue和element的bug

记录一个vue2框架与elementui的bug:

初次使用浏览器直接引入vue2和elementui时,使用表格出现bug,出现的行转列问题, 用webpack打包的方式则不会出现。


问题描述

使用el-table时,el-table-column 直接使用了闭标签,导致列转成了行,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试表格</title>
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="appDemo">
    <el-table :data="tableData"
              style="width: 100%">
        <el-table-column prop="name" label="列一" width="180"/>
        <el-table-column label="列二" />
        <el-table-column label="列三" />
        <el-table-column label="列四" />
    </el-table>
</div>

</body>
<script >
    const appDemo = new Vue({
        el: "#appDemo"
    })
</script>
</html>

效果如下:
表格列转成了行

vue3 和elementplus也会出现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试表格</title>
    <!-- Import style -->
    <link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />
    <!-- Import Vue 3 -->
    <script src="//unpkg.com/vue@3"></script>
    <!-- Import component library -->
    <script src="//unpkg.com/element-plus"></script>
</head>
<body>
<div id="appDemo">
    <el-table :data="tableData"
              style="width: 100%">
        <el-table-column prop="name" label="列一" width="180"/>
        <el-table-column label="列二"/>
        <el-table-column label="列三" />
        <el-table-column label="列四" />
    </el-table>
</div>

</body>
<script >
    const App = {
        data() {
            return {
                message: "Hello Element Plus",
            };
        },
    };
    const app = Vue.createApp(App);
    app.use(ElementPlus);
    app.mount("#appDemo");
</script>
</html>

vue3和element plus的效果

原因分析:

el-table-column 标签写法错误,导致el-table-column 转成了tr,正常是th

正确显示代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试表格</title>
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="appDemo">
    <el-table :data="tableData"
              style="width: 100%">
        <el-table-column prop="name" label="列一" width="180"></el-table-column>
        <el-table-column label="列二"> </el-table-column>
        <el-table-column label="列三" ></el-table-column>
        <el-table-column label="列四" ></el-table-column>
    </el-table>
</div>

</body>
<script >
    const appDemo = new Vue({
        el: "#appDemo"
    })
</script>
</html>

正确使用案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值