关于Vue2 ELement的el-table-column的prop带.就无法显示的问题

489 阅读1分钟

问题的发生

今天在写el-table组件是发现一个问题,当组件时,属性值prop带有小数点时就无法显示数据

    <el-table :data="[{ 0.2:100 }]">
        <el-table-column prop='0.2' label='数字'></el-table-column>
    </el-table>

image.png

原因

发生这个问题是因为在el-table-column这个组件的源码中,会将a.b分析成a这个对象的b属性,并不会将他识别为字符串('a.b'),而是去识别成column.a.b的值,这样子找到的肯定是 undefined,其实归根结底就是读取对象方式的问题,一个是.属性名,一个是[属性名]

大概写法:

image.png

ps:这个问题只在vue2上的element-ui出现,在plus版本已经解决

解决方法

1.插槽

image.png

2.修改数据结构

image.png

结果

image.png