You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
import { h } from 'vue' ;
import { setupVbenVxeTable , useVbenVxeGrid } from '@vben/plugins/vxe-table' ;
import { Button , Image } from 'ant-design-vue' ;
import { useVbenForm } from './form' ;
if ( ! import . meta . env . SSR ) {
setupVbenVxeTable ( {
configVxeTable : ( vxeUI ) = > {
vxeUI . setConfig ( {
grid : {
align : 'center' ,
border : false ,
columnConfig : {
resizable : true ,
} ,
formConfig : {
// 全局禁用vxe-table的表单配置, 使用formOptions
enabled : false ,
} ,
minHeight : 180 ,
proxyConfig : {
autoLoad : true ,
response : {
result : 'items' ,
total : 'total' ,
list : 'items' ,
} ,
showActiveMsg : true ,
showResponseMsg : false ,
} ,
round : true ,
showOverflow : true ,
size : 'small' ,
} ,
} ) ;
// 表格配置项可以用 cellRender: { name: 'CellImage' },
vxeUI . renderer . add ( 'CellImage' , {
renderTableDefault ( _renderOpts , params ) {
const { column , row } = params ;
return h ( Image , { src : row [ column . field ] } ) ;
} ,
} ) ;
// 表格配置项可以用 cellRender: { name: 'CellLink' },
vxeUI . renderer . add ( 'CellLink' , {
renderTableDefault ( renderOpts ) {
const { props } = renderOpts ;
return h (
Button ,
{ size : 'small' , type : 'link' } ,
{ default : ( ) = > props ? . text } ,
) ;
} ,
} ) ;
// 这里可以自行扩展 vxe-table 的全局配置,比如自定义格式化
// vxeUI.formats.add
} ,
useVbenForm ,
} ) ;
}
export { useVbenVxeGrid } ;
export type * from '@vben/plugins/vxe-table' ;