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

QQ登录

只需一步,快速开始

查看: 2810|回复: 8

[处理中1] 对于他datePicker这个组件进行修改

[复制链接]

59

主题

277

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
发表于 2016-10-19 16:26:20 | 显示全部楼层 |阅读模式
有人做过对这个组件进行修改吗?现在是以滚动的形式显示时间日期,我想让他以这种形式显示其他的数据有办法么

59

主题

277

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
 楼主| 发表于 2016-10-19 16:55:44 | 显示全部楼层
有没有重写这个组件的案例呀,datePicker不让他里面显示日期而是显示其他的数据呢,要疯了要疯了
回复 支持 反对

使用道具 举报

59

主题

277

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
 楼主| 发表于 2016-10-19 17:21:29 | 显示全部楼层
回复

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-19 18:09:11 | 显示全部楼层
datePicker-$UI/system/components/justep/datePicker/datePicker 这不是这个组件的位置嘛,你可以在源文件中修改啊
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

59

主题

277

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
 楼主| 发表于 2016-10-20 08:39:52 | 显示全部楼层
闰土 发表于 2016-10-19 18:09
datePicker-$UI/system/components/justep/datePicker/datePicker 这不是这个组件的位置嘛,你可以在源文件 ...

感谢,发现这个文件了,我想改变这个组件显示的数据请问应该修改哪一个js文件
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-20 11:21:14 | 显示全部楼层
摩羯座 发表于 2016-10-20 08:39
感谢,发现这个文件了,我想改变这个组件显示的数据请问应该修改哪一个js文件 ...

数据,这个组件的数据,都是用的 date 事件拿来的数据把,你是想修改他得显示格式吗?
/UI2/system/components/justep/datePicker/demo/demo.w 你看一下这个是他三个默认的格式

/UI2/system/components/justep/datePicker/datePicker.js.xdoc 这个这个组件的用法说明

在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

59

主题

277

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
 楼主| 发表于 2016-10-20 15:12:30 | 显示全部楼层
闰土 发表于 2016-10-20 11:21
数据,这个组件的数据,都是用的 date 事件拿来的数据把,你是想修改他得显示格式吗?
/UI2/system/compo ...

对我想修改他的显示格式,不显示时间这种的数据,显示其他的数据,比如不同的类型的数据
回复 支持 反对

使用道具 举报

59

主题

277

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
 楼主| 发表于 2016-10-21 11:10:18 | 显示全部楼层
请问大家有没有修改过这个组件的这种呀,想用这个组件的这种形式展现出星期几这种类型的请问有这样的操作么
回复 支持 反对

使用道具 举报

37

主题

109

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
发表于 2016-12-6 13:51:43 | 显示全部楼层
本帖最后由 jatyhu 于 2016-12-6 17:11 编辑

\UI2\system\components\justep\picker\demo 这个是基础picker,你想怎么玩都行

我也还没入门,工程需要一个类似的picker,但内容需要根据CALL的参数来决定。折腾了一阵儿才弄出来,借你宝地留个爪印。

首先看懂这个基础PICKER的DEMO,照COPY过来这段

        <div component="$UI/system/components/justep/picker/picker" class="x-picker"
          xid="list1" data="mainData" disablePullToRefresh="true" disableInfiniteLoad="true">
          <div class="x-picker-inner">
            <div class="x-pciker-rule x-pciker-rule-ft"/>  
            <ul class="x-list-template x-pciker-list" xid="listTemplateUl1">
              <li xid="li1" bind-text="val('fClass')"></li>
            </ul>  
            <div class="x-pciker-rule x-pciker-rule-bg"/>
          </div>
        </div>
这样自己的UI里就已经成功显示需要的PICKER了。
下一步我想根据调用参数修改内容,折腾了一阵才发现只要直接修改绑定的数据就可以。。连刷新都不用
        var data = this.comp('data3');
        data.clear();
        data.add({content : '33'});
        data.add({content : '34'});
        data.add({content : '35'});
        data.add({content : '36'});

再来就要设置默认值,这个地儿卡我好久。。。。一comp.setSelectedIndex(1); 整个控件就空白了。。。见鬼的很。。完全摸不着头脑好不好!
直到又去参考  /UI2/system/components/justep/datePicker/datePicker.js   这里有picker的进阶用例
才发现隐藏坑。。
        _updatePickerValue : function(name){
            var comp = this['_'+name+'Comp'];
            if (comp) {
                var self = this;
                if(this['_set'+name+'PickerValueHandle']) clearTimeout(this['_set'+name+'PickerValueHandle']);
                this['_set'+name+'PickerValueHandle'] = setTimeout(justep.Util.bindModelFn(self.getModel(),function() {
                    self['_set'+name+'PickerValueHandle'] = null;
                    self._setPickerValue(name, self['_'+name+'Value'].peek());
                }), 1);
            }
        },
必须要用timer来延迟的好不好!!!!
泪奔,改测试代码如下:
    Model.prototype.model2ParamsReceive = function(event){
        var comp = this.comp('datapicker');
        var data = this.comp('data3');
        data.clear();
        data.add({content : '33'});
        data.add({content : '34'});
        data.add({content : '35'});
        data.add({content : '36'});
        setTimeout(function() {
            comp.setSelectedIndex(1);
        }, 100);
    };
解决初始默认值的问题。。。

选择之后,取值的时候,也是直接看数据,不看picker
        var data = this.comp('data3');
       alert(data.getValue('content'));

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 01:42 , Processed in 0.093113 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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