first
This commit is contained in:
117
node_modules/vant/lib/sku/components/SkuRowItem.js
generated
vendored
Normal file
117
node_modules/vant/lib/sku/components/SkuRowItem.js
generated
vendored
Normal file
@ -0,0 +1,117 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
|
||||
var _SkuRow = require("./SkuRow");
|
||||
|
||||
var _utils = require("../../utils");
|
||||
|
||||
var _skuHelper = require("../utils/sku-helper");
|
||||
|
||||
var _relation = require("../../mixins/relation");
|
||||
|
||||
var _icon = _interopRequireDefault(require("../../icon"));
|
||||
|
||||
var _image = _interopRequireDefault(require("../../image"));
|
||||
|
||||
var _createNamespace = (0, _utils.createNamespace)('sku-row-item'),
|
||||
createComponent = _createNamespace[0];
|
||||
|
||||
var _default2 = createComponent({
|
||||
mixins: [(0, _relation.ChildrenMixin)('vanSkuRows')],
|
||||
props: {
|
||||
lazyLoad: Boolean,
|
||||
skuValue: Object,
|
||||
skuKeyStr: String,
|
||||
skuEventBus: Object,
|
||||
selectedSku: Object,
|
||||
largeImageMode: Boolean,
|
||||
disableSoldoutSku: Boolean,
|
||||
skuList: {
|
||||
type: Array,
|
||||
default: function _default() {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
imgUrl: function imgUrl() {
|
||||
var url = this.skuValue.imgUrl || this.skuValue.img_url;
|
||||
return this.largeImageMode ? url || 'https://img01.yzcdn.cn/upload_files/2020/06/24/FmKWDg0bN9rMcTp9ne8MXiQWGtLn.png' : url;
|
||||
},
|
||||
choosable: function choosable() {
|
||||
if (!this.disableSoldoutSku) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return (0, _skuHelper.isSkuChoosable)(this.skuList, this.selectedSku, {
|
||||
key: this.skuKeyStr,
|
||||
valueId: this.skuValue.id
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onSelect: function onSelect() {
|
||||
if (this.choosable) {
|
||||
this.skuEventBus.$emit('sku:select', (0, _extends2.default)({}, this.skuValue, {
|
||||
skuKeyStr: this.skuKeyStr
|
||||
}));
|
||||
}
|
||||
},
|
||||
onPreviewImg: function onPreviewImg(event) {
|
||||
event.stopPropagation();
|
||||
var skuValue = this.skuValue,
|
||||
skuKeyStr = this.skuKeyStr;
|
||||
this.skuEventBus.$emit('sku:previewImage', (0, _extends2.default)({}, skuValue, {
|
||||
ks: skuKeyStr,
|
||||
imgUrl: skuValue.imgUrl || skuValue.img_url
|
||||
}));
|
||||
},
|
||||
genImage: function genImage(classPrefix) {
|
||||
var h = this.$createElement;
|
||||
|
||||
if (this.imgUrl) {
|
||||
return h(_image.default, {
|
||||
"attrs": {
|
||||
"fit": "cover",
|
||||
"src": this.imgUrl,
|
||||
"lazyLoad": this.lazyLoad
|
||||
},
|
||||
"class": classPrefix + "-img"
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
render: function render() {
|
||||
var h = arguments[0];
|
||||
var choosed = this.skuValue.id === this.selectedSku[this.skuKeyStr];
|
||||
var classPrefix = this.largeImageMode ? (0, _SkuRow.bem)('image-item') : (0, _SkuRow.bem)('item');
|
||||
return h("span", {
|
||||
"class": [classPrefix, choosed ? classPrefix + "--active" : '', !this.choosable ? classPrefix + "--disabled" : ''],
|
||||
"on": {
|
||||
"click": this.onSelect
|
||||
}
|
||||
}, [this.genImage(classPrefix), h("div", {
|
||||
"class": classPrefix + "-name"
|
||||
}, [this.largeImageMode ? h("span", {
|
||||
"class": {
|
||||
'van-multi-ellipsis--l2': this.largeImageMode
|
||||
}
|
||||
}, [this.skuValue.name]) : this.skuValue.name]), this.largeImageMode && h(_icon.default, {
|
||||
"attrs": {
|
||||
"name": "enlarge"
|
||||
},
|
||||
"class": classPrefix + "-img-icon",
|
||||
"on": {
|
||||
"click": this.onPreviewImg
|
||||
}
|
||||
})]);
|
||||
}
|
||||
});
|
||||
|
||||
exports.default = _default2;
|
Reference in New Issue
Block a user