账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue 下拉加载如何把后台数据融入进去???
    • 2017-10-31 00:00
    • 11
    63
    0

    大佬们
    本人是小白 刚入职场
    与后台交互非常少
    不知道怎么处理后台的数据
    如果小弟晚上还没解决问题
    小弟可能就要离职了!!
    希望大佬能帮帮小弟!
    sos!

    有下拉的demo
    用的是mint-ui
    vue 下拉加载请求后台数据 我现在是模拟的json
    用的是vue-resource请求数据
    怎么才能把我自己模拟的json,融入进去 5条5条的加载

    谢谢大佬们解答下!


    vue

    <template>
      <div class="page-loadmore">
        <h1 class="page-title">Pull up</h1>
        <p class="page-loadmore-desc">在列表底部, 按住 - 上拉 - 释放可以获取更多数据</p>
        <p class="page-loadmore-desc">此例请使用手机查看</p>
        <div class="page-loadmore-wrapper" ref="wrapper" :style="{ height: wrapperHeight + 'px' }">
          <mt-loadmore :bottom-method="loadBottom" @bottom-status-change="handleBottomChange" :bottom-all-loaded="allLoaded" ref="loadmore">
            <ul class="page-loadmore-list">
              <li v-for="item in list" class="page-loadmore-listitem">{{ item }}</li>
            </ul>
            <div slot="bottom" class="mint-loadmore-bottom">
              <span v-show="bottomStatus !== 'loading'" :class="{ 'is-rotate': bottomStatus === 'drop' }">↑</span>
              <span v-show="bottomStatus === 'loading'">
                <mt-spinner type="snake"></mt-spinner>
              </span>
            </div>
          </mt-loadmore>
        </div>
      </div>
    </template>
    
    <style></style>
    
    <script type="text/babel">
      export default {
        data() {
          return {
            list: [],
            allLoaded: false,
            bottomStatus: '',
            wrapperHeight: 0,
            waitingListData: []
          }
        },
        methods: {
          handleBottomChange(status) {
            this.bottomStatus = status;
          },
          loadBottom() {
            setTimeout(() => {
              let lastValue = this.list[this.list.length - 1];
              if (lastValue < 40) {
                for (let i = 1; i <= 10; i++) {
                  this.list.push(lastValue + i);
                }
              } else {
                this.allLoaded = true;
              }
              this.$refs.loadmore.onBottomLoaded();
            }, 1500);
          }
        },
        created() {
          for (let i = 1; i <= 20; i++) {
            this.list.push(i);
          }
        },
        mounted() {
          this.wrapperHeight = document.documentElement.clientHeight - this.$refs.wrapper.getBoundingClientRect().top;
        }
      };
    </script>

    json

    {
        "Code": 0,
        "Message": null,
        "Data": [
            {
                "SysName": "xitong",
                "TaskName": "名称名称名称名称1",
                "Title": "标题标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称17:017:017:0称2",
                "Title": "标题标题2222222",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称4:14:14:13",
                "Title": "标题题2",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名名称133414",
                "Title": "标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名:08:08名称名:08:08",
                "Title": "标题标题:08:08",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称名称名称1",
                "Title": "标题标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称17:017:017:0称2",
                "Title": "标题标题2222222",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称4:14:14:13",
                "Title": "标题题2",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名名称133414",
                "Title": "标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名:08:08名称名:08:08",
                "Title": "标题标题:08:08",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称名称名称1",
                "Title": "标题标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称17:017:017:0称2",
                "Title": "标题标题2222222",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称4:14:14:13",
                "Title": "标题题2",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名名称133414",
                "Title": "标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名:08:08名称名:08:08",
                "Title": "标题标题:08:08",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称名称名称1",
                "Title": "标题标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称17:017:017:0称2",
                "Title": "标题标题2222222",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称4:14:14:13",
                "Title": "标题题2",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名名称133414",
                "Title": "标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名:08:08名称名:08:08",
                "Title": "标题标题:08:08",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称名称名称1",
                "Title": "标题标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称17:017:017:0称2",
                "Title": "标题标题2222222",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称4:14:14:13",
                "Title": "标题题2",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名名称133414",
                "Title": "标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名:08:08名称名:08:08",
                "Title": "标题标题:08:08",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称名称名称1",
                "Title": "标题标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名称17:017:017:0称2",
                "Title": "标题标题2222222",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称4:14:14:13",
                "Title": "标题题2",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名称名名称133414",
                "Title": "标题标题1",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            },
            {
                "SysName": "xitong",
                "TaskName": "名:08:08名称名:08:08",
                "Title": "标题标题:08:08",
                "ArriveTime": "2017-10-24 14:16",
                "AcceptTime": "2017-10-24 17:08",
                "StepName": "人员",
                "DataUrl": "http://aaa.com/docapi/doc/comsubmit/detail",
                "CurrStatus": null
            }
    
        ]
    }

    这是我放弃的demo 每次都是全部加载出来 下拉从新请求全部 想五条五条显示

    <template>
        <div class="finshed-wrapper" :style="{'-webkit-overflow-scrolling': scrollMode}">
            
            <v-loadmore :bottom-method="loadBottom" :bottom-all-loaded="allLoaded" :auto-fill="false" ref="loadmore">
                <div class="finshed-content"  v-for="(item, index) in finshedListData">
                    <div class="finshed-content-header">{{item.TaskName}}</div>
                    <p class="finshed-content-title">{{item.Title}}</p>
                    <div class="finshed-content-footer">
                        <div class="footer-left">{{item.StepName}}</div>
                        <div class="footer-right">{{item.ArriveTime}}</div>
                    </div>  
                </div>
            </v-loadmore>
    
        </div>
    </template>
    
    <script>
        import {Loadmore} from 'mint-ui';
        export default {
            components:{
                'v-loadmore':Loadmore,
            },
            data () {
                return {
                    pageNo:1,
                    pageSize:5,
                    finshedListData:[],
                    allLoaded: false, //是否可以上拉属性,false可以上拉,true为禁止上拉,就是不让往上划加载数据了
                    scrollMode:"auto", //移动端弹性滚动效果,touch为弹性滚动,auto是非弹性滚动
                    totalpage:0,
                    loading:false,
                    bottomText: '',
                }
            },
            mounted(){
                this.loadPageList();  //初次访问查询列表
            },
            methods:{
                loadBottom:function() {
                    // 上拉加载
                    this.more();// 上拉触发的分页查询
                    this.$refs.loadmore.onBottomLoaded();// 固定方法,查询完要调用一次,用于重新定位
                },
                loadPageList:function (){
                    // 查询数据
                    this.$http.get('/static/index/waitingList.json').then(res =>{
                        console.log(res.body, res.body.Data, Math.ceil(res.body.Data.length));
                        this.finshedListData = res.body.Data;
                        this.totalpage = Math.ceil(res.body.Data.length/this.pageSize);
                        if(this.totalpage == 1){
                            this.allLoaded = true;
                        }
                        this.$nextTick(function () {
                            // 是否还有下一页,加个方法判断,没有下一页要禁止上拉
                            this.scrollMode = "touch";
                            this.isHaveMore();
                        });
                    });
                },
                more:function (){
                    // 分页查询
                    if(this.totalpage == 1){
                        this.pageNo = 1;
                        this.allLoaded = true;
                    }else{
                        this.pageNo = parseInt(this.pageNo) + 1;
                        this.allLoaded = false;
                    }
    
                    console.log(this.pageNo);
                    this.$http.get('/static/index/waitingList.json').then(res=>{
                        this.finshedListData = this.finshedListData.concat(res.body.Data);
                        console.log(this.finshedListData);
                        this.isHaveMore();
                    });
                },
                isHaveMore:function(){
                    // 是否还有下一页,如果没有就禁止上拉刷新
                    //this.allLoaded = false; //true是禁止上拉加载
                    if(this.pageNo == this.totalpage){
                        this.allLoaded = true;
                    }
                }
            }
        }
    </script>
    
    
    <style scoped>
        .finshed-wrapper {
            top: 4.9rem;  
            bottom:0;  
            position:fixed;  
            overflow-y: auto;  
            overflow-x: hidden;
        }  
    
        .finshed-content {
            overflow: hidden;
            background: #FFF;
            border: .02rem solid #EEEEEE;
            /*padding: 14px 16px 11px 16px;*/
            padding: .7rem .8rem .55rem .8rem;
            overflow: hidden;
        }
        
        .finshed-content-header {
            font-size: 14px;
            height: 1rem;
            line-height: 1rem;
            color: #999;
            overflow: hidden;
            font-family: PingFangSC-Regular;
        }
        
        .finshed-content-title {
            font-size: 16px;
            line-height: 1.2rem;
            margin-top: 0.2rem;
            color: #333;
            overflow: hidden;
            font-family: PingFangSC-Regular;
            word-break: break-all;
            word-wrap: break-word;
        }
        
        .finshed-content-footer {
            height: 1.05rem;
            margin-top: 0.35rem;
            font-size: 12px;
        }
    
        .footer-left {
            float: left;
            height: 0.75rem;
            line-height: 0.75rem;
            border-radius: .45rem;
            padding: .1rem .45rem;
            color: #F6A623;
            border: 1px solid #F6A623;
        }
    
        .footer-right {
            float: right;
            line-height: 1.05rem;
            font-family: SFUIText-Regular;
            font-size: 14px;
            color: #666666;
        }
    
    </style>
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 逆苍天 普通会员 1楼

      在 Vue 中,你可以使用 v-model 和数据绑定来将后台数据注入到下拉列表中。以下是一个简单的示例:

      ```html

      ```

      在这个示例中,我们创建了一个 Vue 组件,它有一个下拉列表和一个值。当用户选择一个选项时,它会将选中的选项ID存储在 selectedValue 变量中,并在 selectOption 方法中更新这个值。

      你也可以在 Vue 组件中使用 v-for 循环来遍历后台数据,并将每个选项的 ID 存储在数组中。然后,你可以在 selectOption 方法中从数组中获取选项的 ID,并使用 v-for 循环将它们添加到下拉列表中。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部