@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
70 lines (68 loc) • 3.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Demo;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireDefault(require("react"));
var _components = require("@tarojs/components");
var _vantui = require("@antmjs/vantui");
var COMMON = _interopRequireWildcard(require("./common"));
var _jsxRuntime = require("react/jsx-runtime");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
/* eslint-disable */
function Demo() {
var sku = COMMON.sku,
goodsList = COMMON.goodsList;
// 选中的商品,可以获取自定义属性如:商品图片、价格、数量
var _react$useState = _react.default.useState({}),
_react$useState2 = (0, _slicedToArray2.default)(_react$useState, 2),
currentGoods = _react$useState2[0],
setCurrent = _react$useState2[1];
var itemDisable = function itemDisable(goodsItem) {
if (!goodsItem) return true;
// 商品表可设定count为库存数,或者通过其它条件判断
if (goodsItem.count === 0) return true;
return false;
};
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vantui.Toast, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.View, {
children: "\u5F53\u524D\u9009\u62E9\u5546\u54C1\uFF1A"
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.View, {
style: {
paddingBottom: 10
},
children: ["HUAWEI\u624B\u673A\u3010", (currentGoods === null || currentGoods === void 0 ? void 0 : currentGoods.skuName) || '--', "\u3011"]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_vantui.Sku, {
autoChoice: true,
sku: sku,
goodsList: goodsList,
onChange: function onChange(e) {
return setCurrent(e);
},
clickAttrDisable: function clickAttrDisable() {
return _vantui.Toast.show("\u6682\u65E0\u5E93\u5B58");
},
itemDisable: itemDisable,
itemRender: function itemRender(it) {
if (it['color']) {
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.View, {
className: "sku-color-item",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.View, {
className: "color-item",
style: {
background: it['color']
}
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.View, {
children: it.name
})]
});
}
return it.name;
}
})]
});
}