SkuRowPropItem.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. disabled: Boolean
  13. },
  14. computed: {
  15. choosed: function choosed() {
  16. var selectedProp = this.selectedProp,
  17. skuKeyStr = this.skuKeyStr,
  18. skuValue = this.skuValue;
  19. if (selectedProp && selectedProp[skuKeyStr]) {
  20. return selectedProp[skuKeyStr].indexOf(skuValue.id) > -1;
  21. }
  22. return false;
  23. }
  24. },
  25. methods: {
  26. onSelect: function onSelect() {
  27. if (this.disabled) return;
  28. this.skuEventBus.$emit('sku:propSelect', _extends({}, this.skuValue, {
  29. skuKeyStr: this.skuKeyStr,
  30. multiple: this.multiple
  31. }));
  32. }
  33. },
  34. render: function render() {
  35. var h = arguments[0];
  36. return h("span", {
  37. "class": ['van-sku-row__item', {
  38. 'van-sku-row__item--active': this.choosed
  39. }, {
  40. 'van-sku-row__item--disabled': this.disabled
  41. }],
  42. "on": {
  43. "click": this.onSelect
  44. }
  45. }, [h("span", {
  46. "class": "van-sku-row__item-name"
  47. }, [this.skuValue.name])]);
  48. }
  49. });