zoukankan      html  css  js  c++  java
  • antd中ListView组件的使用

    //  ReactDOM 是关键 

    import React from 'react';
    import { ListView } from 'antd-mobile';
    import ReactDOM from 'react-dom';

    class Lists extends React.Component{
      constructor(props){
        super(props)
        const dataSource = new ListView.DataSource({
          rowHasChanged: (row1, row2) => row1 !== row2,
          sectionHeaderHasChanged: (s1, s2) => s1 !== s2,
        });
        this.state = {
          dataSource,
          arr: [0]
        }
      }
      componentDidMount(){
        this.init();
      }

      // 初始渲染  这个代码是为了让listView组件出现滚动条
      init(){
        let scrollHeight = ReactDOM.findDOMNode(this.lv).scrollHeight
        let offsetHeight = ReactDOM.findDOMNode(this.lv).offsetHeight
        let fn = (a) => {
          console.log(a)
          if(offsetHeight >= a){
            this.setState({
              arr: this.state.arr.concat([1])
            },()=>{
              setTimeout(()=>{
                fn(ReactDOM.findDOMNode(this.lv).scrollHeight);
              },1000)
              
            })
          }
        }
        fn(scrollHeight);
        
      }

      onEndReached(){
        this.setState({
          arr: this.state.arr.concat([1])
        })
      }

      render(){
        const row = (rowData, sectionID, rowID) => {};
        return (
          <div id="header">
            <div className="header"> 这是头部 </div>
            <ListView
            ref={el => this.lv = el}
            dataSource={this.state.dataSource}
            renderRow={row}
            style={{
              height: 'calc(100vh - 50px)',
              overflow: 'auto',
            }}
            onEndReached={e=>this.onEndReached(e)}
            onEndReachedThreshold={40}
          >
            {
              this.state.arr.map((item,index)=>{
                return (
                  <div className="content" key={index}> {item} 内容部分 </div>
                )
              })
            }
          </ListView>

          </div>
        )
      }

    export default Lists;
  • 相关阅读:
    mysql数据库连接报错ERRoR1130(HY000)
    Ladap相关知识精简资料
    Github访问慢,解决方案
    IIS短文件漏洞成因,及修复方案
    Kali linux简单匿名处理方法
    NHibernate实践总结(二) 在mapping文件中设置抓取策略对HQL与Criteria造成不同影响的测试与验证
    NHibernate 3.x新功能实践(二) QueryOver(下)
    NHibernate实践总结(三)HQL的thetastyle join对无关联实体的连接与应用
    NHibernate实践总结(一)
    Scott Hanselman's 2009 NET与Windows终极开发工具列表
  • 原文地址:https://www.cnblogs.com/shangjun6/p/13583218.html
Copyright © 2011-2022 走看看