SkuRowPropItem.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _utils = require("../../utils");
  7. var _createNamespace = (0, _utils.createNamespace)('sku-row-prop-item'),
  8. createComponent = _createNamespace[0];
  9. var _default = createComponent({
  10. props: {
  11. skuValue: Object,
  12. skuKeyStr: String,
  13. skuEventBus: Object,
  14. selectedProp: Object,
  15. multiple: Boolean
  16. },
  17. computed: {
  18. choosed: function choosed() {
  19. var selectedProp = this.selectedProp,
  20. skuKeyStr = this.skuKeyStr,
  21. skuValue = this.skuValue;
  22. if (selectedProp && selectedProp[skuKeyStr]) {
  23. return selectedProp[skuKeyStr].indexOf(skuValue.id) > -1;
  24. }
  25. return false;
  26. }
  27. },
  28. methods: {
  29. onSelect: function onSelect() {
  30. this.skuEventBus.$emit('sku:propSelect', (0, _extends2.default)({}, this.skuValue, {
  31. skuKeyStr: this.skuKeyStr,
  32. multiple: this.multiple
  33. }));
  34. }
  35. },
  36. render: function render() {
  37. var h = arguments[0];
  38. return h("span", {
  39. "class": ['van-sku-row__item', {
  40. 'van-sku-row__item--active': this.choosed
  41. }],
  42. "on": {
  43. "click": this.onSelect
  44. }
  45. }, [h("span", {
  46. "class": "van-sku-row__item-name"
  47. }, [this.skuValue.name])]);
  48. }
  49. });
  50. exports.default = _default;