打个比方,我目前在设计一个table组件,现在要向里面传递column信息,
目前看到两种方案:
第一种是vue element方式,通过el-table-column标签向table组件传递信息,如下:
<el-table
    :data="tableData"
    style="width: 100%"
    max-height="250">
    <el-table-column
      fixed
      prop="date"
      label="日期"
      width="150">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名"
      width="120">
    </el-table-column>
  </el-table>
第二种是vue-easytable方式,通过 props 的方式传递列数据,如下:
<template>
   <v-table :columns="columns"></v-table>
</template>
<script>
    export default{
        data(){
            return {
                multipleSort: false,
                tableData: [ ... ],
                columns: [
                    {field: 'email', width: 230, columnAlign: 'center'},
                    {field: 'address', width: 330, columnAlign: 'left'}
                ],
                titleRows: [
                    {fields: ['email'], title: '111', titleAlign: 'center',titleCellClassName:'title-cell-class-name-test2'},
                    {fields: ['address'], title: '333', titleAlign: 'center',titleCellClassName:'title-cell-class-name-test2'}]
                ]
            }
        }
    }
</script>
这两种设计方式有啥优劣?
|  |      166beta      2019-04-10 11:42:00 +08:00 via Android  1 从实际业务出发吧,第一种是 slot 方式,比较灵活,也就是说它支持多种表格展示方式 第二种就比较固定了,只传对应格式的数据进去 | 
|      2sundev OP @66beta 之前写 react,所以比较喜欢第一种方式,但是如果用这种,那么需要在组件内部对 slot 进行解析,感觉比较麻烦! | 
|  |      3jydeng      2019-04-10 13:07:33 +08:00  1 可以两种结合 |