vxe-table列自定义排版
时间: 2023-07-19 15:55:03 浏览: 246
在 `vxe-table` 中,可以通过 `renderHeader` 和 `renderCell` 两个属性对表格的列进行自定义排版。
`renderHeader` 属性用于自定义表头的排版,它的值是一个函数,该函数返回一个 VNode,用于渲染表头的内容。例如,如果要在表头中添加一个图标,可以这样设置 `renderHeader`:
```js
{
title: '列名',
field: 'fieldName',
renderHeader: function (h, { column }) {
return h('div', [
h('i', { class: 'icon icon-sort' }),
h('span', column.title)
])
}
}
```
在这个例子中,`renderHeader` 函数返回一个 `div` 元素,其中包含一个图标和列名。在 `h` 函数中,第一个参数表示要创建的元素的标签名,第二个参数表示元素的属性和事件监听器,第三个参数表示元素的子节点,它可以是一个字符串或一个 VNode。
`renderCell` 属性用于自定义单元格的排版,它的值是一个函数,该函数返回一个 VNode,用于渲染单元格的内容。例如,如果要将某一列的数据格式化为货币形式,可以这样设置 `renderCell`:
```js
{
title: '金额',
field: 'amount',
renderCell: function (h, { row }) {
return h('span', { class: 'currency' }, '$' + row.amount.toFixed(2))
}
}
```
在这个例子中,`renderCell` 函数返回一个 `span` 元素,其中包含格式化后的金额。在 `h` 函数中,第一个参数表示要创建的元素的标签名,第二个参数表示元素的属性和事件监听器,第三个参数表示元素的子节点。在这个例子中,我们使用了 `toFixed` 方法将金额格式化为两位小数,并在前面添加了美元符号。
阅读全文