UNPKG

shineout

Version:

Shein 前端组件库

76 lines (59 loc) 2.25 kB
"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 _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _react = _interopRequireDefault(require("react")); var _component = require("../component"); var _default = function _default(Origin) { return ( /*#__PURE__*/ function (_Component) { (0, _inheritsLoose2.default)(_class, _Component); function _class(props) { var _this; _this = _Component.call(this, props) || this; _this.state = { text: '' }; _this.handleFilter = _this.handleFilter.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))); return _this; } var _proto = _class.prototype; _proto.getData = function getData() { var _this2 = this; var _this$props = this.props, onFilter = _this$props.onFilter, data = _this$props.data, index = _this$props.index; if (!onFilter || !this.state.text) return data; return data.filter(function (d) { return onFilter(_this2.state.text, d, !index); }); }; _proto.handleFilter = function handleFilter(text) { var _this$props2 = this.props, onSearch = _this$props2.onSearch, index = _this$props2.index; if (onSearch) onSearch(text, !index); this.setState({ text: text }); }; _proto.render = function render() { var onFilter = this.props.onFilter; var data = this.getData(); var filter = onFilter ? this.handleFilter : undefined; return _react.default.createElement(Origin, (0, _extends2.default)({}, this.props, { onFilter: filter, filterText: this.state.text, data: data })); }; return _class; }(_component.Component) ); }; exports.default = _default;