CollapsePanel.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import _defineProperty from 'babel-runtime/helpers/defineProperty';
  2. import _extends from 'babel-runtime/helpers/extends';
  3. import { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';
  4. import VcCollapse, { panelProps } from '../vc-collapse';
  5. import { ConfigConsumerProps } from '../config-provider/configConsumerProps';
  6. export default {
  7. name: 'ACollapsePanel',
  8. props: _extends({}, panelProps()),
  9. inject: {
  10. configProvider: { 'default': function _default() {
  11. return ConfigConsumerProps;
  12. } }
  13. },
  14. render: function render() {
  15. var h = arguments[0];
  16. var customizePrefixCls = this.prefixCls,
  17. _showArrow = this.showArrow,
  18. showArrow = _showArrow === undefined ? true : _showArrow;
  19. var getPrefixCls = this.configProvider.getPrefixCls;
  20. var prefixCls = getPrefixCls('collapse', customizePrefixCls);
  21. var collapsePanelClassName = _defineProperty({}, prefixCls + '-no-arrow', !showArrow);
  22. var rcCollapePanelProps = {
  23. props: _extends({}, getOptionProps(this), {
  24. prefixCls: prefixCls,
  25. extra: getComponentFromProp(this, 'extra')
  26. }),
  27. 'class': collapsePanelClassName,
  28. on: getListeners(this)
  29. };
  30. var header = getComponentFromProp(this, 'header');
  31. return h(
  32. VcCollapse.Panel,
  33. rcCollapePanelProps,
  34. [this.$slots['default'], header ? h(
  35. 'template',
  36. { slot: 'header' },
  37. [header]
  38. ) : null]
  39. );
  40. }
  41. };