search.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.TransferSearchProps = undefined;
  6. var _vueTypes = require('../_util/vue-types');
  7. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  8. var _propsUtil = require('../_util/props-util');
  9. var _icon = require('../icon');
  10. var _icon2 = _interopRequireDefault(_icon);
  11. var _input = require('../input');
  12. var _input2 = _interopRequireDefault(_input);
  13. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  14. var TransferSearchProps = exports.TransferSearchProps = {
  15. prefixCls: _vueTypes2['default'].string,
  16. placeholder: _vueTypes2['default'].string,
  17. value: _vueTypes2['default'].any,
  18. handleClear: _vueTypes2['default'].func,
  19. disabled: _vueTypes2['default'].bool
  20. };
  21. exports['default'] = {
  22. name: 'Search',
  23. props: (0, _propsUtil.initDefaultProps)(TransferSearchProps, {
  24. placeholder: ''
  25. }),
  26. methods: {
  27. handleChange: function handleChange(e) {
  28. this.$emit('change', e);
  29. },
  30. handleClear2: function handleClear2(e) {
  31. e.preventDefault();
  32. var _$props = this.$props,
  33. handleClear = _$props.handleClear,
  34. disabled = _$props.disabled;
  35. if (!disabled && handleClear) {
  36. handleClear(e);
  37. }
  38. }
  39. },
  40. render: function render() {
  41. var h = arguments[0];
  42. var _getOptionProps = (0, _propsUtil.getOptionProps)(this),
  43. placeholder = _getOptionProps.placeholder,
  44. value = _getOptionProps.value,
  45. prefixCls = _getOptionProps.prefixCls,
  46. disabled = _getOptionProps.disabled;
  47. var icon = value && value.length > 0 ? h(
  48. 'a',
  49. {
  50. attrs: { href: '#' },
  51. 'class': prefixCls + '-action', on: {
  52. 'click': this.handleClear2
  53. }
  54. },
  55. [h(_icon2['default'], {
  56. attrs: { type: 'close-circle', theme: 'filled' }
  57. })]
  58. ) : h(
  59. 'span',
  60. { 'class': prefixCls + '-action' },
  61. [h(_icon2['default'], {
  62. attrs: { type: 'search' }
  63. })]
  64. );
  65. return h('div', [h(_input2['default'], {
  66. attrs: {
  67. placeholder: placeholder,
  68. value: value,
  69. disabled: disabled
  70. },
  71. 'class': prefixCls, on: {
  72. 'change': this.handleChange
  73. }
  74. }), icon]);
  75. }
  76. };