具有动态宽度的React.js和水平IScroll 5

时间:2015-01-22 13:02:24

标签: javascript css reactjs iscroll react-jsx

我不能让IScroll与React.js一起使用。

var SubHeaderMenu = React.createClass({
getDefaultProps: function () {
    return {items: []};
},

componentDidMount: function () {
    if (this.props.items.length && this.isMounted()) {
        this.scroll = new IScroll(this.getDOMNode(), {
            scrollX: true,
            scrollY: false,
            mouseWheel: true,
        });
    }
},

render: function () {
    var itemNodes = this.props.items.map(function (item) {
        return <div key={item.name} className="subheader-item">{item.name}</div>;
    }.bind(this));

    return (
        <div className="bar bar-standard bar-header-secondary subheader">
            <div className="scroller" ref="scroller">
                <div className="scroller-inner" ref="scrollerInner">{itemNodes}</div>
            </div>
        </div>
    );
}
});

SubHeaderMenu组件接收项目列表作为道具。如果我在CSS中设置.scroller的宽度,这可以正常工作:

.scroller { width: 600px; ... }

但在CSS中没有宽度它不会滚动..

如何处理每个列表项的动态宽度?

1 个答案:

答案 0 :(得分:1)

有一个npm-package for react和IScroll:

https://www.npmjs.com/package/react-iscroll