UNPKG

antd-mobile

Version:

基于 React 的移动设计规范实现

69 lines (57 loc) 2.46 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var React = _interopRequireWildcard(_react); var _reactDom = require('react-dom'); var ReactDOM = _interopRequireWildcard(_reactDom); var _list = require('../list'); var _list2 = _interopRequireDefault(_list); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } var throttle = function throttle(fn, delay) { var allowSample = true; return function (e) { if (allowSample) { allowSample = false; setTimeout(function () { allowSample = true; }, delay); fn(e); } }; }; var SCROLLVIEW = 'ScrollView'; exports["default"] = React.createClass({ displayName: 'MyList', componentDidMount: function componentDidMount() { this.__handleScroll = this._handleScroll(); ReactDOM.findDOMNode(this.refs[SCROLLVIEW]).addEventListener('scroll', this.__handleScroll); }, componentWillUnmount: function componentWillUnmount() { ReactDOM.findDOMNode(this.refs[SCROLLVIEW]).removeEventListener('scroll', this.__handleScroll); }, handleScroll: function handleScroll(e) { var _props$onScroll = this.props.onScroll; var onScroll = _props$onScroll === undefined ? function (ev) {} : _props$onScroll; onScroll(e); }, _handleScroll: function _handleScroll(e) { var handleScroll = function handleScroll(ev) {}; // let handleScroll = this.handleScroll; if (this.props.scrollEventThrottle && this.props.onScroll) { handleScroll = throttle(this.handleScroll, this.props.scrollEventThrottle); } return handleScroll; }, render: function render() { var _props = this.props; var children = _props.children; var className = _props.className; var style = _props.style; var divProps = { className: className, style: style }; return React.cloneElement(React.createElement(_list2["default"], { ref: SCROLLVIEW }), divProps, children); } }); module.exports = exports['default'];