起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3762|回复: 9

[结贴] baassdata与list数据同步问题

[复制链接]

13

主题

62

帖子

174

积分

初级会员

Rank: 2

积分
174
QQ
发表于 2017-7-31 12:32:50 | 显示全部楼层 |阅读模式
定义baassdata与list,它们的autoload设为false。并且list与baassdata关联。通过add方法给baasdata赋值,但是list好像感应不到变化。因为页面上没有显示出list里值。
发表于 2017-7-31 13:50:00 | 显示全部楼层
data组件真的加上值了吗??试试调用this.comp('list').refresh()  重新刷新下是否可以?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

13

主题

62

帖子

174

积分

初级会员

Rank: 2

积分
174
QQ
 楼主| 发表于 2017-8-2 20:38:00 | 显示全部楼层
liangyongfei 发表于 2017-7-31 13:50
data组件真的加上值了吗??试试调用this.comp('list').refresh()  重新刷新下是否可以? ...

1.data组件加上值了的,试过this.comp('list').refrsh()方法不行,此方法会去请求后台的。代码如下:

        Model.prototype.onload = function(event){
            
                     this.comp('animalBaasData').add({'id':11,'aname':'xxx'});
                      alert(this.comp('animalBaasData').getFirstRow().val('id'));//此时data里可以弹出值
                     // this.comp("animallist").refresh();  

        };


其中animalBaasData为baasdata,animallist为list,且它的data就为 animalBaasData。另外animalBaasData与animallist的autoload都为false.
运行结果baasdata里可以弹出值,但是list里没有值,判断依据:页面上该list并未输出任何信息。 总结:如果baasdata是从后台查询值的,那么相应的list也有值,
如果bassdata是手动添加值进去,那么list则没有值。
回复 支持 反对

使用道具 举报

发表于 2017-8-3 10:03:11 | 显示全部楼层
51天天向上 发表于 2017-8-2 20:38
1.data组件加上值了的,试过this.comp('list').refrsh()方法不行,此方法会去请求后台的。代码如下:

        M ...

看下API文档

add 方法
前端新增一行数据,状态需要开发者设定

可能状态不对的原因,所以没显示
http://docs.wex5.com/wex5-ui-question-list-2184

建议您使用newData方法新增数据!这样添加的数据是有默认行状态为new的!  就可以显示了!
  1. var data = this.comp('mainData');
  2.         var options = {
  3.                 defaultValues : [
  4.                         {sName:'a1',sCode:'b1'},
  5.                         {sName:'a2',sCode:'b2'}
  6.                 ]
  7.         };       
  8.         data.newData(options);
复制代码

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

13

主题

62

帖子

174

积分

初级会员

Rank: 2

积分
174
QQ
 楼主| 发表于 2017-8-3 17:31:04 | 显示全部楼层
liangyongfei 发表于 2017-8-3 10:03
看下API文档

add 方法

不行额
回复 支持 反对

使用道具 举报

发表于 2017-8-3 17:46:33 | 显示全部楼层

啥不行!newData 方法后,list也没显示吗??
本地测试案例!都是可以的啊!,比如:


  1. Model.prototype.button2Click = function(event){
  2.                 var data = this.comp('newsData');
  3.         var options = {
  4.                 defaultValues : [
  5.                         {fID:'a1',fTitle:'b1',fContent:'c1'}
  6.                 ]
  7.         };        
  8.         data.newData(options);
  9.         };
复制代码

避免图片影响,可以先注释掉
getImageUrl 方法
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

13

主题

62

帖子

174

积分

初级会员

Rank: 2

积分
174
QQ
 楼主| 发表于 2017-8-3 18:14:13 | 显示全部楼层
liangyongfei 发表于 2017-8-3 17:46
啥不行!newData 方法后,list也没显示吗??
本地测试案例!都是可以的啊!,比如:

测试前提条件:baasdata与list的autoload都要设为false。本地使用系统自带的记账本程序做测试的。在list.w里增加了如下代码:
Model.prototype.onload = function(event){
          var accountData = this.comp("accountData");
        accountData.newData({
                                "defaultValues" : [ {
                                        "fID" : justep.UUID.createUUID(),
                                        "fCreateTime" : new Date(),
                                        "fDate" : new Date(),
                                        "fType" : "支出"
                                } ]
                        });
                        alert(accountData.getFirstRow().val('fID'));//可以弹出值
        };
运行后,打开记账本页面(http://localhost:8080/x5/UI2/v_/demo/account/index.w?device=m#!list)没有任何变化。
回复 支持 反对

使用道具 举报

38

主题

256

帖子

465

积分

中级会员

Rank: 3Rank: 3

积分
465
QQ
发表于 2017-8-3 20:55:12 | 显示全部楼层
添加后 刷新一下 list   就可以  但你 确定你数据添加了  而且this.comp("accountData").saveData();了
回复 支持 反对

使用道具 举报

发表于 2017-8-4 09:56:58 | 显示全部楼层
51天天向上 发表于 2017-8-3 18:14
测试前提条件:baasdata与list的autoload都要设为false。本地使用系统自带的记账本程序做测试的。在list. ...

确实list组件的 autoLoad 都设置为false 不显示!

  1. data.newData(options);
  2. this.comp('newsList').refresh();
复制代码


newData 后调用list.refresh才能显示!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

13

主题

62

帖子

174

积分

初级会员

Rank: 2

积分
174
QQ
 楼主| 发表于 2017-8-4 10:46:19 | 显示全部楼层
本帖最后由 51天天向上 于 2017-8-4 10:50 编辑
liangyongfei 发表于 2017-8-4 09:56
确实list组件的 autoLoad 都设置为false 不显示!

OK。明白了。可以结贴了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-4-21 21:02 , Processed in 0.061047 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表