x-extends / vxe-table

Vxe table 的表格组件
https://vxetable.cn
MIT License
7.67k stars 1.06k forks source link

渲染器希望增加 headerRender 属性,使其可以和cellRender区分开(很有必要)!!望采纳 #2614

Open Devin-Wu-2077 opened 1 month ago

Devin-Wu-2077 commented 1 month ago

这个需求解决了什么问题:

image

有这样一个实际需求: 我用渲染器封装了可搜索的公共表头,然后又封装了个link的公共渲染器,这时候就会导致一个问题,我在columns里写了cellRender属性,只能写一个,我的这个表头渲染器是公共的,这时候如果有个headerRender属性就能很好的和cellRender区分开来,不影响使用了。 当然,我知道为了避免冲突,可以表头或者单元格的其中一个用slot插槽实现,但是这样就不够优雅了,希望能使用这样的格式:

columns: [
          {
            title: 'DN#',
            field: 'dnNo',
            headerRender: { name: 'header_input' },
            cellRender: { name: 'link', events: { click: this.openDetail }}
          }
        ]

建议的 API 是什么样的:

columns: [
          {
            title: 'DN#',
            field: 'dnNo',
            headerRender: { name: 'header_input' },
            cellRender: { name: 'link', events: { click: this.openDetail }}
          }
        ]

是否已有其他不错的替代方案:

现阶段可以用slot插槽实现,但是不够优雅,有点冗余,希望可以用渲染器实现。

是否使用当前最新版本?

xuliangzhan commented 1 month ago

本身就是支持任意扩展的,复杂组合式渲染器文档都有的

Devin-Wu-2077 commented 4 weeks ago

本身就是支持任意扩展的,复杂组合式渲染器文档都有的

您好,我看了您发的这种,我感觉您没理解我的意思,我的意思是列头和单元格的两个渲染器是分开的,因为不确定哪一列需要这个渲染器,如果能确定的话,那我知道在一个渲染器中写renderTableHeader和renderTableDefault就行了,但是我现在的需求就是不能把这两个写在一个渲染器中,因为是不确定每一列是否都需要列头搜索和 link 渲染器。 比如说我第一列是表头搜索加单元格link渲染器,第二列就没有link渲染器,第三列就没有表头搜索,这时候如果能有个headerRender属性就能像下面这样灵活配置了:

columns: [
          {
            title: 'DN#',
            field: 'dnNo',
            headerRender: { name: 'header_input' },
            cellRender: { name: 'link', events: { click: this.openDetail }}
          },
          {
            title: 'DN#',
            field: 'dnNo',
            headerRender: { name: 'header_input' },
          },
          {
            title: 'DN#',
            field: 'dnNo',
          }
        ]
zkzgs commented 3 weeks ago

我是看明白了,你就是想和filterRender一样把header独立出去,这种作者估计不会改.不行加个参数控制算了,放到props里面或是params里面

Devin-Wu-2077 commented 2 weeks ago

我是看明白了,你就是想和filterRender一样把header独立出去,这种作者估计不会改.不行加个参数控制算了,放到props里面或是params里面

是的,是这个意思,其实表头和单元格的渲染器最好分开比较好,因为确实有很多需要自定义表头的需求,每次写插槽就很繁琐和冗余,希望能有个表头的渲染器,希望作者能考虑下,谢谢。

k983551019 commented 2 weeks ago

header 插槽不满足?

Devin-Wu-2077 commented 2 weeks ago

header 插槽不满足?

我上面说了,插槽可以实现,但是代码太冗余了,也不优雅,更想要的使用方式是封装表头渲染器的高级用法。