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

QQ登录

只需一步,快速开始

查看: 5649|回复: 12

[处理中1] 动态建的data如果绑到lableedit上

[复制链接]

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
发表于 2016-7-25 18:33:57 | 显示全部楼层 |阅读模式
this.myNewData = new Data(this, {
                        xid: "myNewData",
                        defCols: {
                                did: {
                                        type: "Integer",
                                        label: "标识"
                                },
                                name: {
                                        type: "String",
                                        label: "名称"
                                }
                        },
                        idColumn: "MYNEWDATA"
                });

                this.myNewData.add({did: 123, name: "张三"});


界面上有一个lableinput控件,怎样用js动态设置label的bind-text 和 input 的bind-ref让他与data绑定上显示值出来,望指点

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-7-26 13:16:05 | 显示全部楼层
你是动态创建的data 组件嘛? 只有在model下才能通过bind-text 或者 bind-ref 的方法,绑定的组件上吧?获取到 你的lableinput 中的的 label 和input 分别赋值给他们 可以么
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
 楼主| 发表于 2016-7-26 14:48:22 | 显示全部楼层

this.myNewData = new Data(this, {
这个this就是指的在model下建的,如果我用JS找到一个一个赋值是可以的,但是我不想这样做。

我现在在界面上放了一个list没有指定他的data,在list里放了一个output没有指定他的bind-ref,我在代码里
        Model.prototype.modelLoad = function(event){
       
                this.getElementByXid("list1").setAttribute("data-config","{'data':'data2'}");
                                       
                this.getElementByXid("output1").setAttribute("data-bind","component:{ref:ref('col1'),name:'$model/UI2/system/components/justep/output/output'}");
               
               
               
        };

没有效果,只有在界面配好时才会显示值。请问有人做过样的处理吗?
回复 支持 反对

使用道具 举报

发表于 2016-7-26 16:18:20 | 显示全部楼层
skyappleid 发表于 2016-7-26 14:48
this.myNewData = new Data(this, {
这个this就是指的在model下建的,如果我用JS找到一个一个赋值是可以 ...

bind-属性都不能动态设置!你可以设置绑定一个js函数!在js函数中做逻辑判断!返回指定列的值!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
 楼主| 发表于 2016-7-27 08:57:19 | 显示全部楼层
不会吧
回复

使用道具 举报

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
 楼主| 发表于 2016-7-27 09:03:29 | 显示全部楼层
那如果我先放一个list的,不指定data属性,然后到界面加载的时候才去指定,这样不行是吧,要写JS函数?
回复 支持 反对

使用道具 举报

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
 楼主| 发表于 2016-7-27 09:11:05 | 显示全部楼层
请教个问题,如果list里面是一个比较复杂的显示界面,那这样写js函数,不是每一个控件赋值我都要控制,如果有多笔数据时那不是要写创建这些li的函数?我是觉得绑定data,list里面就控件值绑定好自动加载所有数据,我是想用这样的功能省事,那现在不是全都要自己写了?
回复 支持 反对

使用道具 举报

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
 楼主| 发表于 2016-7-27 10:58:30 | 显示全部楼层
var jsonCols = {
                                did: {
                                        type: "Integer",
                                        label: "标识"
                                },
                                name: {
                                        type: "String",
                                        label: "名称"
                                }
                        };
               
                this.myNewData = new Data(this, {
                        xid: "myNewData",
                        defCols: jsonCols,
                        idColumn: "did"
                });

                this.myNewData.add({did: 123, name: "张三"});
               
                this.myNewData.add({did: 456, name: "李四"});
               
                this.myNewData.add({did: 789, name: "王五"});


Model.prototype.modelLoad = function(event){
       
                var tmpul= '<ul class="x-list-template" xid="listTemplateUl1">'+
                  '<li xid="li1" class="media">  <div class="media-body" xid="div14"> '+
                      '<h5 class="media-heading lead text-black" bind-text="ref(\'did\')" xid="h51"/>  '+
                      '<div class="text-muted" xid="div15"> '+
                       ' <span xid="span11" class="text-danger">¥</span>  '+
                       ' <span xid="span9" bind-text="ref(\'did\')" class="text-danger"/> '+
                     ' </div>  '+
                      '<div class="text-muted" xid="div16"> '+
                       ' <span xid="span30">月销</span>  '+
                      '  <span xid="span21" bind-text="ref(\'name\')"/>  '+
                      '  <span xid="span22"><![CDATA[笔 ]]></span>  '+
                      '  <span xid="span20" bind-text=" ref(\'name\')"/> '+
                     ' </div> </div> </li> </ul> ';
       
       
       
                var lst = new List({
                        xid: 'list123',
                    autoLoad: true,
                    data: 'getMyNewData',  //这里修改成myNewData就会运行出错
                    //template: '<div class="x-list-template"><div data-bind="{text:ref(\'name\')}"></div></div>',                    
                    template:tmpul,
                    
                    parentNode: this.getElementByXid("content1")
                });
       

C:\Users\Administrator\Desktop\List.png
回复 支持 反对

使用道具 举报

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
 楼主| 发表于 2016-7-27 10:59:41 | 显示全部楼层
看,图片这样是可以动态绑定,但是,我预先把list放好,再用代码来设他的data属性就不行了
List.png
回复 支持 反对

使用道具 举报

40

主题

173

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
QQ
 楼主| 发表于 2016-7-28 11:19:15 | 显示全部楼层
大哥,没有可以解答吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 08:03 , Processed in 0.084940 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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