feat: xtable增加预览功能
This commit is contained in:
parent
71d4c5ad78
commit
ed30f06ae1
@ -4,3 +4,4 @@ import './dict'
|
|||||||
import './html'
|
import './html'
|
||||||
import './link'
|
import './link'
|
||||||
import './img'
|
import './img'
|
||||||
|
import './preview'
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
import { VXETable } from 'vxe-table'
|
||||||
|
import { ElImage, ElLink } from 'element-plus'
|
||||||
|
|
||||||
|
// 图片渲染
|
||||||
|
VXETable.renderer.add('XPreview', {
|
||||||
|
// 默认显示模板
|
||||||
|
renderDefault(_renderOpts, params) {
|
||||||
|
const { row, column } = params
|
||||||
|
if (row.type.indexOf('image/') === 0) {
|
||||||
|
return (
|
||||||
|
<ElImage
|
||||||
|
style="width: 80px; height: 50px"
|
||||||
|
src={row[column.field]}
|
||||||
|
key={row[column.field]}
|
||||||
|
preview-src-list={[row[column.field]]}
|
||||||
|
fit="contain"
|
||||||
|
lazy
|
||||||
|
></ElImage>
|
||||||
|
)
|
||||||
|
} else if (row.type.indexOf('video/') === 0) {
|
||||||
|
return (
|
||||||
|
<video>
|
||||||
|
<source src={row[column.field]}></source>
|
||||||
|
</video>
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
return (
|
||||||
|
<ElLink href={row[column.field]} target="_blank">
|
||||||
|
{row[column.field]}
|
||||||
|
</ElLink>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
@ -23,7 +23,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
|||||||
field: 'url',
|
field: 'url',
|
||||||
table: {
|
table: {
|
||||||
cellRender: {
|
cellRender: {
|
||||||
name: 'XImg'
|
name: 'XPreview'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user