index.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <script type="text/jsx">
  2. /**
  3. * 从ant-design-vue处拷贝
  4. */
  5. import DefaultEmptyImage from "./DefaultEmptyImage"
  6. export default {
  7. name: "AEmpty",
  8. functional: true,
  9. props: {
  10. description: String,
  11. image: [String, Object],
  12. imageStyle: [String, Object]
  13. },
  14. render(h, context) {
  15. const {description = '暂无数据', image, imageStyle} = context.props
  16. const prefixCls = 'ant-empty'
  17. const cls = {[prefixCls]: true}
  18. let imageNode = null
  19. if (typeof image === 'string') {
  20. imageNode = <img alt={description} src={image}/>
  21. }
  22. else imageNode = <DefaultEmptyImage/>
  23. return (
  24. <div class={cls} {...{on: context.listeners}}>
  25. <div class={`${prefixCls}-image`} style={imageStyle}>{imageNode}</div>
  26. {description && <p class={`${prefixCls}-description`}>{description}</p>}
  27. {context.children && <div class={`${prefixCls}-footer`}>{context.children}</div>}
  28. </div>
  29. )
  30. }
  31. }
  32. </script>
  33. <style lang="scss" src="./style.scss"></style>