vue使用ajax返回数据赋值给table无法立即生效问题

简介: 主要问题是:ajax返回之后默认无法勾选,虽然data已经赋值,但是页面并没有生效

页面table:

<div class="phoneSource" style="width: 30%; float: left; height: 100%">
    <i-table height="480" border ref="selection" :columns="phoneSourceColumns" :data="phoneSourceData" @on-selection-change="selectSource"></i-table>
</div>

无法生效代码:
//与数据列相等,直接全选

if(vmMaterialMangerAdd.phoneSourceData.length == dataDictionarys.length) {
        vmMaterialMangerAdd.$refs.selection.selectAll(true);
} else {
        for (var i = 0; i < dataDictionarys.length; i++) {
            var dataDictionary = dataDictionarys[i];
            vmMaterialMangerAdd.phoneSourceData.findIndex(
                function(x, index) {
                    if(x.value == dataDictionary.dictionaryId) {
                        vmMaterialMangerAdd.$refs.selection.toggleSelect(index,true);
                    }
                }
            );
        }
}

phoneSourceData 是通过ajax返回直接赋值的:vmMaterialMangerAdd.phoneSourceData = data.data;
但是,这样不生效
QQ_20180705105626

通过debugger的方式,发现在赋值phoneSourceData时,页面并没有画完
并且发现table也没有什么好用的事件或者监听
查官当发现实例的生命周期:
QQ_20180705105450

主要涉及的就是create,mounted,destroyed这三个切入点,观察图,发现mounted应该是要使用的切入点

mounted:function(){
    this.$refs.selection.selectAll(true);    //先简单写个全选
}

然后惊喜的发现,还是不能用~~~~
好吧,没辙了,闲逛吧。。。
发现了新大陆:
QQ_20180705105553

点进去看看

QQ_20180705105602

再试试,可以了。。。

vmMaterialMangerAdd.$nextTick(function () {
    vmMaterialMangerAdd.$refs.selection.selectAll(true);
})

QQ_20180705105613

注:百度查不到就去查官档吧

目录
相关文章
|
20天前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
110 1
|
1月前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
2月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
56 1
vue学习第一章
|
2月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
52 1
|
2月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
64 18
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
2月前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
45 1
|
2月前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。