UNPKG

shineout

Version:

Shein 前端组件库

103 lines (74 loc) 3.05 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _styles = require("./styles"); var _Node = _interopRequireDefault(require("./Node")); var _locale = require("../locale"); var _classname = require("../utils/classname"); var DefaultProps = { id: '', parentId: '', text: {} }; var List = /*#__PURE__*/ function (_Component) { (0, _inheritsLoose2.default)(List, _Component); function List(props) { var _this; _this = _Component.call(this, props) || this; _this.state = {}; _this.getText = _this.getText.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))); return _this; } var _proto = List.prototype; _proto.getKey = function getKey(data, index) { var _this$props = this.props, keygen = _this$props.keygen, parentId = _this$props.parentId; if (typeof keygen === 'function') return keygen(data, parentId); if (keygen && typeof keygen === 'string') { var key = data[keygen]; if (typeof key === 'string' || typeof key === 'number') { return key; } console.error('key must be number or string but get', key); } return parentId + (parentId ? ',' : '') + index; }; _proto.getText = function getText(key) { return (this.props.text || {})[key] || (0, _locale.getLocale)(key); }; _proto.render = function render() { var _this2 = this; var _this$props2 = this.props, data = _this$props2.data, other = (0, _objectWithoutPropertiesLoose2.default)(_this$props2, ["data"]); if (!data || data.length === 0) return _react.default.createElement("span", { className: (0, _styles.cascaderClass)('no-data') }, this.getText('noData')); return _react.default.createElement("div", { className: (0, _styles.cascaderClass)((0, _classname.getDirectionClass)('list')) }, data.map(function (d, i) { var id = _this2.getKey(d, i); return _react.default.createElement(_Node.default, (0, _extends2.default)({}, other, { key: id, active: other.id === id, id: id, data: d })); })); }; return List; }(_react.Component); (0, _defineProperty2.default)(List, "defaultProps", DefaultProps); var _default = List; exports.default = _default;