renderEmpty.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import PropTypes from '../_util/vue-types';
  2. import Empty from '../empty';
  3. import { ConfigConsumerProps } from './configConsumerProps';
  4. var RenderEmpty = {
  5. functional: true,
  6. inject: {
  7. configProvider: { 'default': function _default() {
  8. return ConfigConsumerProps;
  9. } }
  10. },
  11. props: {
  12. componentName: PropTypes.string
  13. },
  14. render: function render(createElement, context) {
  15. var h = arguments[0];
  16. var props = context.props,
  17. injections = context.injections;
  18. function renderHtml(componentName) {
  19. var getPrefixCls = injections.configProvider.getPrefixCls;
  20. var prefix = getPrefixCls('empty');
  21. switch (componentName) {
  22. case 'Table':
  23. case 'List':
  24. return h(Empty, {
  25. attrs: { image: Empty.PRESENTED_IMAGE_SIMPLE }
  26. });
  27. case 'Select':
  28. case 'TreeSelect':
  29. case 'Cascader':
  30. case 'Transfer':
  31. case 'Mentions':
  32. return h(Empty, {
  33. attrs: { image: Empty.PRESENTED_IMAGE_SIMPLE },
  34. 'class': prefix + '-small' });
  35. default:
  36. return h(Empty);
  37. }
  38. }
  39. return renderHtml(props.componentName);
  40. }
  41. };
  42. function renderEmpty(h, componentName) {
  43. return h(RenderEmpty, {
  44. attrs: { componentName: componentName }
  45. });
  46. }
  47. export default renderEmpty;