SkuRowPropItem.js 1.2 KB

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