• 使用在react hooks+antd ListView简单实现移动端长列表功能


    import React, { useState, useEffect } from "react"
    import { ListView } from "antd-mobile"
    const data = [
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    header: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/dKbkpPXKfvZzWCM.png",
    title: "Meet hotel",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/XmwCzSeJiqpkuMB.png",
    title: "McDonald's invites you",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    {
    img: "https://zos.alipayobjects.com/rmsportal/hfVtzEhPzTUewPm.png",
    title: "Eat the week",
    des: "不是所有的兼职汪都需要风吹日晒",
    },
    ]
    export default function Home() {
    const [loading, setLoading] = useState(true)
    const ds = new ListView.DataSource({
    rowHasChanged: () => true,
    })
    const [dataSource, setDataSource] = useState(ds)
    useEffect(() => {
    setDataSource(dataSource.cloneWithRows([...data]))
    }, [])
    function onRequestMore() {
    let newDate = [...data, ...data]
    setDataSource(dataSource.cloneWithRows([...data, ...data]))
    }
    function renderItem(rowData, sectionID, rowID) {
    return (
    <div key={rowID} style={{ padding: "0 15px" }}>
     
    <div
    style={{
    lineHeight: "50px",
    color: "#888",
    fontSize: 18,
    borderBottom: "1px solid #F6F6F6",
    }}
    >
    {rowData.title}
    </div>
     
    <div
    style={{ display: "-webkit-box", display: "flex", padding: "15px 0" }}
    >
    <img
    style={{ height: "64px", marginRight: "15px" }}
    src={rowData.img}
    alt=""
    />
    <div style={{ lineHeight: 1 }}>
    <div style={{ marginBottom: "8px", fontWeight: "bold" }}>
    {rowData.des}
    </div>
    <div>
    <span style={{ fontSize: "30px", color: "#FF6E27" }}>35</span>¥{" "}
    {rowID}
    </div>
    </div>
    </div>
    </div>
    )
    }
    return (
    <ListView
    loading={false}
    dataSource={dataSource}
    renderRow={renderItem}
    initialListSize={20}
    pageSize={20}
    onEndReached={event => {
    onRequestMore()
    }}
    onEndReachedThreshold={10}
    style={{
    height: "100%",
    }}
    />
    )
    }
     
    无吸顶功能
  • 相关阅读:
    如何在perl中一次执行多条shell命令
    Spring.netAOP 搭建网站通知服务(1)
    使用Spring.net AOP 实现积分服务
    我得第一帖@2011
    ADO.NET+存储过程+事务的一个奇怪问题,求探讨
    (一)项目说明及程序框架说明——.NET开发完整案例(企业邮箱系统)
    2.系统设置网站配置网站信息配置
    .NET企业邮箱系统项目说明及文章索引——20118.13更新
    .Net内容管理系统开发实例项目说明及文章索引——2011825更新
    后端小记录
  • 原文地址:https://www.cnblogs.com/cnlg123/p/11948878.html
Copyright © 2020-2023  润新知