帖子
帖子
用户
博客
课程
1234下一页
返回列表 发新帖
380
帖子
4
勋章
6
Y币
  1. <template>
  2.     <list-view refresher-enabled = "true" refresher-triggered = {refresherTriggered} id="listView" class="main" enable-back-to-top onrefresherrefresh={this.onrefresherrefresh} onrefresherrestore={this.onrefresherrestore} onscrolltolower={this.onscrolltolower}>
  3.         <cell class="cell" onclick={this.itemClick}>
  4.             <text class="title">{item.title}</text>
  5.             <text class="subtitle">{item.subtitle}</text>
  6.         </cell>
  7.         <list-footer class="footer">
  8.             <text>加载中...</text>
  9.         </list-footer>
  10.     </list-view>
  11. </template>
  12. <style>
  13.     .main {
  14.         width: 100%;
  15.         height: 100%;
  16.     }
  17.     .cell {
  18.         padding: 8px;
  19.         height: 60px;
  20.         border-bottom: 0.5px solid #ddd;
  21.         background-color: #fff;
  22.     }
  23.     .cell:active {
  24.         background-color: #ddd;
  25.     }
  26.     .title {
  27.         font-weight: bold;
  28.         font-size: 18px;
  29.         color: #000;
  30.     }
  31.     .subtitle {
  32.         color: #333;
  33.     }
  34.     .footer {
  35.         justify-content: center;
  36.         align-items: center;
  37.     }
  38. </style>
  39. <script>
  40.     export default {
  41.         name: 'test',
  42.         data() {
  43.                 return {
  44.                         refresherTriggered: false,
  45.                 }
  46.         },
  47.         methods:{
  48.             apiready() {
  49.                 this.initData(false);
  50.                
  51.             },
  52.             initData(loadMore) {
  53.                 var that = this;
  54.                 var skip = that.dataList?that.dataList.length:0;
  55.                 var dataList = [];
  56.                 for (var i=0;i<20;i++) {
  57.                     dataList[i] = {
  58.                         title: '项目' + (i + skip),
  59.                         subtitle: '这里是子标题'
  60.                     }
  61.                 }
  62.                 var listView = document.getElementById('listView');
  63.                 if (loadMore) {
  64.                     that.dataList = that.dataList.concat(dataList);
  65.                     listView.insert({
  66.                         data: dataList
  67.                     });
  68.                 } else {
  69.                     that.dataList = dataList;
  70.                     listView.load({
  71.                         data: dataList
  72.                     });
  73.                 }
  74.             },
  75.             onscrolltolower() {
  76.                 this.initData(true);
  77.             },
  78.             onrefresherrefresh(){
  79.                 console.log(333)
  80.                 // var listView = document.getElementById('listView');
  81.                 this.refresherTriggered = true
  82.                  this.refresherTriggered =  false
  83.             },

  84.             onrefresherrestore(){
  85.                 console.log(456)
  86.                 // this.refresherTriggered = false
  87.             },
  88.             itemClick(e) {
  89.                 api.alert({
  90.                     msg: '当前项索引:' + e.currentTarget.index
  91.                 });
  92.             }
  93.         }
  94.     }
  95. </script>
复制代码
玩具. · 2022-1-5 15:06为啥我的不行,同样用的案例代码,是不是还有什么配置没开启?

   
203
帖子
3
勋章
3425
Y币
本帖最后由 玩具. 于 2022-1-5 17:31 编辑

<template>
    <list-view refresher-enabled = "true" refresher-triggered = {refresherTriggered} id="listView" class="main" enable-back-to-top onrefresherrefresh={this.onrefresherrefresh} onrefresherrestore={this.onrefresherrestore} onscrolltolower={this.onscrolltolower}>
        <cell class="cell" onclick={this.itemClick}>
            <text class="title">{item.title}</text>
            <text class="subtitle">{item.subtitle}</text>
        </cell>

    </list-view>
</template>
<style>
    .main {
        width: 100%;
        height: 100%;
    }
    .cell {
        padding: 8px;
        height: 60px;
        border-bottom: 0.5px solid #ddd;
        background-color: #fff;
    }
    .cell:active {
        background-color: #ddd;
    }
    .title {
        font-weight: bold;
        font-size: 18px;
        color: #000;
    }
    .subtitle {
        color: #333;
    }
    .footer {
        justify-content: center;
        align-items: center;
    }
</style>
<script>
    export default {
        name: 'test',
        data() {
                return {
                        refresherTriggered: false,
                }
        },
        methods:{
            apiready() {
                this.initData(false);

            },
            initData(loadMore) {
                var that = this;
                var skip = that.dataList?that.dataList.length:0;
                var dataList = [];
                for (var i=0;i<10;i++) {
                    dataList = {
                        title: '项目' + (i + skip),
                        subtitle: '这里是子标题'
                    }
                }
                var listView = document.getElementById('listView');
                if (loadMore) {
                    that.dataList = that.dataList.concat(dataList);
                    listView.insert({
                        data: dataList
                    });
                } else {
                    that.dataList = dataList;
                    listView.load({
                        data: dataList
                    });
                }
            },
            onscrolltolower() {
                 console.log(111)
                this.initData(true);
            },
            onrefresherrefresh(){
                console.log(333)
                // var listView = document.getElementById('listView');
                this.refresherTriggered = true
                 this.refresherTriggered =  false
            },

            onrefresherrestore(){
                console.log(456)
                // this.refresherTriggered = false
            },
            itemClick(e) {
                api.alert({
                    msg: '当前项索引:' + e.currentTarget.index
                });
            }
        }
    }
</script>
用你的代码,新建界面。 111还是没输出,数据有没加载,333,456是输出了



380
帖子
4
勋章
6
Y币
你上拉了吗,我这上拉就能加载更多数据
玩具. · 2022-1-5 17:30{item.title}
            {item.subtitle}
        
203
帖子
3
勋章
3425
Y币
本帖最后由 玩具. 于 2022-1-5 17:57 编辑

就是往上拉了,界面都弹动了,你试我的代码,就改了条数及上拉哪里输出111,然后删除了
  • <list-footer class="footer">
  •             <text>加载中...</text>
  •         </list-footer>

用你的代码就得行。。但是我把条数改成5或者10就不行,改成11就行,也就是说数据满屏的情况下才有效果
技术支持-F · 2022-1-5 17:46你上拉了吗,我这上拉就能加载更多数据

380
帖子
4
勋章
6
Y币
不满屏时可以把list-view 的高度定义一个小的数字,再测试看看
玩具. · 2022-1-5 17:47就是往上拉了,界面都弹动了,你试我的代码,就改了条数及上拉哪里输出111,然后删除了
  •             加载中...
  • 203
    帖子
    3
    勋章
    3425
    Y币
    设置一个高度是可以,但是滚动区域只有设置那么高,剩下就是空白了,看这个问题你们怎么解决下把
    技术支持-F · 2022-1-5 17:59不满屏时可以把list-view 的高度定义一个小的数字,再测试看看
    380
    帖子
    4
    勋章
    6
    Y币
    什么意思,截图看看
    玩具. · 2022-1-5 18:22设置一个高度是可以,但是滚动区域只有设置那么高,剩下就是空白了,看这个问题你们怎么解决下把
    203
    帖子
    3
    勋章
    3425
    Y币
    <template>
        <list-view refresher-enabled = "true"  refresher-triggered = {refresherTriggered} id="listView" class="main" enable-back-to-top onrefresherrefresh={this.onrefresherrefresh} onrefresherrestore={this.onrefresherrestore} onscrolltolower={this.onscrolltolower}>
            <cell class="cell" onclick={this.itemClick}>
                <text class="title">{item.title}</text>
                <text class="subtitle">{item.subtitle}</text>
            </cell>
           <list-footer class="footer">
                <text>加载中...</text>
            </list-footer>
        </list-view>
    </template>
    <style>
        .main {
            width: 100%;
            height: 100px;
        }
        .cell {
            padding: 8px;
            height: 60px;
            border-bottom: 0.5px solid #ddd;
            background-color: #fff;
        }
        .cell:active {
            background-color: #ddd;
        }
        .title {
            font-weight: bold;
            font-size: 18px;
            color: #000;
        }
        .subtitle {
            color: #333;
        }
        .footer {
            justify-content: center;
            align-items: center;
        }
    </style>
    <script>
    import $ajax from '../components/ajax.js'
        export default {
            name: 'test',
            data() {
                    return {
                            refresherTriggered: false,
                    }
            },
            methods:{
                apiready() {
                    this.initData(false);

                },
                initData(loadMore) {
                    var that = this;
                    var skip = that.dataList?that.dataList.length:0;
                    var dataList = [];
                    for (var i=0;i<5;i++) {
                        dataList = {
                            title: '项目' + (i + skip),
                            subtitle: '这里是子标题'
                        }
                    }
                    var listView = document.getElementById('listView');
                    if (loadMore) {
                        that.dataList = that.dataList.concat(dataList);
                        listView.insert({
                            data: dataList
                        });
                    } else {
                        that.dataList = dataList;
                        listView.load({
                            data: dataList
                        });
                    }
                },
                onscrolltolower() {
                     console.log(111)
                    this.initData(true);
                },
                onrefresherrefresh(){
                    console.log(333)
                    // var listView = document.getElementById('listView');
                    this.refresherTriggered = true
                     this.refresherTriggered =  false
                },

                onrefresherrestore(){
                    console.log(456)
                    // this.refresherTriggered = false
                },
                itemClick(e) {
                    // api.alert({
                    //     msg: '当前项索引:' + e.currentTarget.index
                    // });
                        var param={
                        name:'list',
                        url:'list.stml',
                        title:'打开',
                    }
                    $ajax.openWin(param);
                }
            }
        }
    </script>

    这是代码 ,改动的地方 .main {
            width: 100%;
            height: 100px;
        }
    的height有100%改成100px,条数改成5,你运行看下 就能看到我说的效果



    技术支持-F · 2022-1-5 18:40什么意思,截图看看
    380
    帖子
    4
    勋章
    6
    Y币
    空白是正常的,list-view高100px, 下面没内容当然空白了。
    玩具. · 2022-1-5 18:54{item.title}
                {item.subtitle}
            
    203
    帖子
    3
    勋章
    3425
    Y币
    本帖最后由 玩具. 于 2022-1-6 15:55 编辑

    1234567
    技术支持-F · 2022-1-6 09:52空白是正常的,list-view高100px, 下面没内容当然空白了。

    1234下一页
    您需要登录后才可以回帖 登录

    本版积分规则