@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
79 lines • 3.29 kB
JavaScript
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _regeneratorRuntime from "@babel/runtime/regenerator";
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
import { useEffect, useState } from 'react';
import { View } from '@tarojs/components';
import classNames from 'classnames';
import { Icon } from '../icon';
import { Loading } from '../loading';
import { jsx as _jsx } from "react/jsx-runtime";
import { jsxs as _jsxs } from "react/jsx-runtime";
var defaultProps = {
data: {
text: '',
value: '',
paneKey: '',
disabled: false,
loading: false,
children: []
},
checked: false,
chooseItem: function chooseItem() {},
id: ''
};
var InternalCascaderItem = function InternalCascaderItem(props) {
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
data = _defaultProps$props.data,
checked = _defaultProps$props.checked,
chooseItem = _defaultProps$props.chooseItem,
id = _defaultProps$props.id;
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var classes = classNames({
active: checked,
disabled: data.disabled
}, 'van-cascader-item');
useEffect(function () {
initData();
}, [data]);
var initData = function initData() {
// console.log('------data', data)
};
return /*#__PURE__*/_jsxs(View, {
id: id,
className: classes,
onClick: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
return _regeneratorRuntime.wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
_context.next = 3;
return chooseItem(data);
case 3:
setLoading(false);
case 4:
case "end":
return _context.stop();
}
}, _callee);
})),
children: [/*#__PURE__*/_jsx(View, {
className: "van-cascader-item__title",
children: data.text
}), loading ? /*#__PURE__*/_jsx(Loading, {
color: "#969799",
size: 30
}) : /*#__PURE__*/_jsx(Icon, {
style: checked ? {} : {
display: 'none'
},
name: "success"
})]
});
};
export var CascaderItem = InternalCascaderItem;