Iview: table组件的列建议做成声明式的

Created on 24 Jun 2017  ·  3Comments  ·  Source: iview/iview

非常喜欢iview库,并且真的很好看,但在做后台开发的时候使用表格组件table感到写出来的代码非常不优雅,我分别使用element和iview做了2套后台管理系统,大部分管理系统使用频率最高的组件就是表格了,element的表格使用了声明式的方式来定义列,简单易操作,写出来的代码类似这样:

<ajax-table :source="source">
      <el-table-column prop="strTime" label="发送时间"></el-table-column>
      <el-table-column inline-template label="消息类型">
        <span>{{ row.msgType | msg }}</span>
      </el-table-column>
      <el-table-column prop="fromPeer" label="发送人"></el-table-column>
      <el-table-column inline-template label="操作">
        <div>
          <el-button type="info" size="small" @click.native="handleDetail(row)">查看详情</el-button>
        </div>
      </el-table-column>
    </ajax-table>

ajax-table是我自己封装的,其他人使用只需要传入一个数据源(返回promise)即可生成一个带分页的远程调用的表格。
但我在封装iview的table组件式无法做成这样的方式,因为table的列不是声明式的,无法传入,造成写出来的代码非常臃肿,如果再遇上自定义列的话(情况很多),就要写render函数,极度不方便,我知道iview的目标就是做成 ant-design的vue版,但我觉得在表格这个组件的api设计上面应该学习一下element。
谢谢!

Most helpful comment

@dean5277 render更臃肿

All 3 comments

这种声明试挺恶心的,最后整个template都非常臃肿。

已经爱上render了

暂无此计划。

@dean5277 render更臃肿

Was this page helpful?
0 / 5 - 0 ratings