RadioButton.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
  6. var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
  7. var _extends2 = require('babel-runtime/helpers/extends');
  8. var _extends3 = _interopRequireDefault(_extends2);
  9. var _Radio = require('./Radio');
  10. var _Radio2 = _interopRequireDefault(_Radio);
  11. var _propsUtil = require('../_util/props-util');
  12. var _configConsumerProps = require('../config-provider/configConsumerProps');
  13. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  14. exports['default'] = {
  15. name: 'ARadioButton',
  16. props: (0, _extends3['default'])({}, _Radio2['default'].props),
  17. inject: {
  18. radioGroupContext: { 'default': undefined },
  19. configProvider: { 'default': function _default() {
  20. return _configConsumerProps.ConfigConsumerProps;
  21. } }
  22. },
  23. render: function render() {
  24. var h = arguments[0];
  25. var _getOptionProps = (0, _propsUtil.getOptionProps)(this),
  26. customizePrefixCls = _getOptionProps.prefixCls,
  27. otherProps = (0, _objectWithoutProperties3['default'])(_getOptionProps, ['prefixCls']);
  28. var getPrefixCls = this.configProvider.getPrefixCls;
  29. var prefixCls = getPrefixCls('radio-button', customizePrefixCls);
  30. var radioProps = {
  31. props: (0, _extends3['default'])({}, otherProps, {
  32. prefixCls: prefixCls
  33. }),
  34. on: (0, _propsUtil.getListeners)(this)
  35. };
  36. if (this.radioGroupContext) {
  37. radioProps.on.change = this.radioGroupContext.onRadioChange;
  38. radioProps.props.checked = this.$props.value === this.radioGroupContext.stateValue;
  39. radioProps.props.disabled = this.$props.disabled || this.radioGroupContext.disabled;
  40. }
  41. return h(
  42. _Radio2['default'],
  43. radioProps,
  44. [this.$slots['default']]
  45. );
  46. }
  47. };