InputElement.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
  6. var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
  7. var _extends2 = require('babel-runtime/helpers/extends');
  8. var _extends3 = _interopRequireDefault(_extends2);
  9. var _vueTypes = require('../_util/vue-types');
  10. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  11. var _vnode = require('../_util/vnode');
  12. var _propsUtil = require('../_util/props-util');
  13. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  14. function chaining() {
  15. for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {
  16. fns[_key] = arguments[_key];
  17. }
  18. return function () {
  19. for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  20. args[_key2] = arguments[_key2];
  21. }
  22. // eslint-disable-line
  23. // eslint-disable-line
  24. for (var i = 0; i < fns.length; i++) {
  25. if (fns[i] && typeof fns[i] === 'function') {
  26. fns[i].apply(this, args);
  27. }
  28. }
  29. };
  30. }
  31. exports['default'] = {
  32. name: 'InputElement',
  33. inheritAttrs: false,
  34. props: {
  35. value: _vueTypes2['default'].any,
  36. disabled: _vueTypes2['default'].bool,
  37. placeholder: _vueTypes2['default'].string
  38. },
  39. render: function render() {
  40. var _$slots = this.$slots,
  41. $slots = _$slots === undefined ? {} : _$slots,
  42. _$attrs = this.$attrs,
  43. $attrs = _$attrs === undefined ? {} : _$attrs,
  44. placeholder = this.placeholder;
  45. var listeners = (0, _propsUtil.getListeners)(this);
  46. var props = (0, _propsUtil.getOptionProps)(this);
  47. var value = props.value === undefined ? '' : props.value;
  48. var children = $slots['default'][0];
  49. var _$slots$default$0$com = $slots['default'][0].componentOptions,
  50. componentOptions = _$slots$default$0$com === undefined ? {} : _$slots$default$0$com;
  51. var _componentOptions$lis = componentOptions.listeners,
  52. events = _componentOptions$lis === undefined ? {} : _componentOptions$lis;
  53. var newEvent = (0, _extends3['default'])({}, events);
  54. var _iteratorNormalCompletion = true;
  55. var _didIteratorError = false;
  56. var _iteratorError = undefined;
  57. try {
  58. for (var _iterator = Object.entries(listeners)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
  59. var _ref = _step.value;
  60. var _ref2 = (0, _slicedToArray3['default'])(_ref, 2);
  61. var eventName = _ref2[0];
  62. var event = _ref2[1];
  63. newEvent[eventName] = chaining(event, events[eventName]);
  64. }
  65. } catch (err) {
  66. _didIteratorError = true;
  67. _iteratorError = err;
  68. } finally {
  69. try {
  70. if (!_iteratorNormalCompletion && _iterator['return']) {
  71. _iterator['return']();
  72. }
  73. } finally {
  74. if (_didIteratorError) {
  75. throw _iteratorError;
  76. }
  77. }
  78. }
  79. var attrs = (0, _extends3['default'])({}, $attrs, { value: value });
  80. // https://github.com/vueComponent/ant-design-vue/issues/1761
  81. delete props.placeholder;
  82. if (placeholder) {
  83. props.placeholder = placeholder;
  84. attrs.placeholder = placeholder;
  85. }
  86. return (0, _vnode.cloneElement)(children, {
  87. domProps: {
  88. value: value
  89. },
  90. props: props,
  91. on: newEvent,
  92. attrs: attrs,
  93. ref: 'ele'
  94. });
  95. }
  96. };