Item.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports["default"] = void 0;
  5. var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
  6. var _utils = require("../utils");
  7. var _functional = require("../utils/functional");
  8. var _icon = _interopRequireDefault(require("../icon"));
  9. var _cell = _interopRequireDefault(require("../cell"));
  10. var _radio = _interopRequireDefault(require("../radio"));
  11. var _use = (0, _utils.use)('address-item'),
  12. sfc = _use[0],
  13. bem = _use[1];
  14. function AddressItem(h, props, slots, ctx) {
  15. var disabled = props.disabled,
  16. switchable = props.switchable;
  17. var onSelect = function onSelect() {
  18. if (props.switchable) {
  19. (0, _functional.emit)(ctx, 'select');
  20. }
  21. };
  22. var renderRightIcon = function renderRightIcon() {
  23. return h(_icon["default"], {
  24. "attrs": {
  25. "name": "edit"
  26. },
  27. "class": bem('edit'),
  28. "on": {
  29. "click": function click(event) {
  30. event.stopPropagation();
  31. (0, _functional.emit)(ctx, 'edit');
  32. }
  33. }
  34. });
  35. };
  36. var renderContent = function renderContent() {
  37. var data = props.data;
  38. var Info = [h("div", {
  39. "class": bem('name')
  40. }, [data.name + "\uFF0C" + data.tel]), h("div", {
  41. "class": bem('address')
  42. }, [data.address])];
  43. return props.switchable ? h(_radio["default"], {
  44. "attrs": {
  45. "name": data.id
  46. },
  47. "on": {
  48. "click": onSelect
  49. }
  50. }, [Info]) : Info;
  51. };
  52. return h(_cell["default"], (0, _babelHelperVueJsxMergeProps["default"])([{
  53. "class": bem({
  54. disabled: disabled,
  55. unswitchable: !switchable
  56. }),
  57. "attrs": {
  58. "valueClass": bem('value'),
  59. "isLink": !disabled && switchable
  60. },
  61. "scopedSlots": {
  62. "default": renderContent,
  63. 'right-icon': renderRightIcon
  64. },
  65. "on": {
  66. "click": onSelect
  67. }
  68. }, (0, _functional.inherit)(ctx)]));
  69. }
  70. AddressItem.props = {
  71. data: Object,
  72. disabled: Boolean,
  73. switchable: Boolean
  74. };
  75. var _default = sfc(AddressItem);
  76. exports["default"] = _default;