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

QQ登录

只需一步,快速开始

查看: 6315|回复: 13

[处理中3] 关于时间控件使用的一点问题

[复制链接]

19

主题

58

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
QQ
发表于 2017-3-31 10:44:12 | 显示全部楼层 |阅读模式
最近使用时间控件,经过多次不同的尝试,出现几个矛盾的问题:第一:设置了最大日期(MAX属性)为今天后,当点击控件切换日期时会自动跳到2016年(也可能是默认往前跳一年),体验极差;但是锁定最大日期又是必要的,请问如何解决?第二:input组件data类型设定为Date时,首次加载设置的值也为Date类型,input框会有红色边框(应该是类型不匹配的提示,首次设置字符串类型则没有),但是切换日期后就变成了字符串(红色边框消失)。我是设置了两个日期控件,分别代表起止时间,这样如果只改变其中一个控件的日期,后台取到的值必然类型不匹配,请问如何解决?


其实第二个问题在首次加载直接设置值为字符串类型,然后他一直是字符串也是可以解决的,但是切换日期的自动关联功能的编写变得很复杂。比如截止日期切换到比起始日期还早的时候,起始日期会响应变化而变化,用Date类型比较好处理些,直接减日期就行;字符串的改变要先拆分,然后转INT型、改变数值、最后在重新串成字符串返回。
关键还是第一个问题,有什么好的解决方法?
其实控件选择日期的样式也不是很好看,但不是大问题。
发表于 2017-3-31 11:06:13 | 显示全部楼层
1. 本地测试没问题!!并没有默认往前调一年啊!!!使用3.6版本!chrome 模拟手机运行的!!请问你是在哪儿测试的呢??

2.请问你设置的是哪个属性 如果input的bind-ref绑定了data字段,那么dataType 就是只读的!不能编辑才对!!
本地3.6版本测试没问题!!

只需他input组件  绑定 日期类型的data字段就可以了!!其他不用管!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

19

主题

94

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
发表于 2017-3-31 11:38:19 | 显示全部楼层
liangyongfei 发表于 2017-3-31 11:06
1. 本地测试没问题!!并没有默认往前调一年啊!!!使用3.6版本!chrome 模拟手机运行的!!请问你是在哪 ...

版主,第一个问题真是存在的,不管是pc上调试还是手机上调试,只要是设置了max值为今天,第一次点击出现的日期是确实是往前调了一年,不知道为什么,这个问题也困扰我很长时间,到最后索性就不设置max值了,但是确实有这个bug。。。  望尽快解决,谢谢。
回复 支持 反对

使用道具 举报

19

主题

94

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
发表于 2017-3-31 11:40:08 | 显示全部楼层
楼主,第一个问题我这里也存在,请问您解决了吗?
回复 支持 反对

使用道具 举报

发表于 2017-3-31 11:47:21 | 显示全部楼层
liutong880818 发表于 2017-3-31 11:38
版主,第一个问题真是存在的,不管是pc上调试还是手机上调试,只要是设置了max值为今天,第一次点击出现 ...

你是3.6版本吗??本地测试真的没问题!!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

19

主题

58

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
QQ
 楼主| 发表于 2017-3-31 11:50:52 | 显示全部楼层
liangyongfei 发表于 2017-3-31 11:06
1. 本地测试没问题!!并没有默认往前调一年啊!!!使用3.6版本!chrome 模拟手机运行的!!请问你是在哪 ...

dataType是不能编辑。我指的是input绑定的data的字段类型是Date。
data组件字段:id,start(Date),end(Date);
我试过data组件不编辑数据,页面加载时获取当前时间,封装后loadData()加载,但是没效果;
然后我尝试编辑一条数据{id:1,start:不填,end:不填},然后在加载时获取时间用
comp("input的xid").val(Date) 设置初始值,
就是我说的会有红边框的情况,初始值是Date类型,而改变后变成字符串;而
comp("input的xid").val(“YY-MM-DD”)显示效果一样,无红边框,一直是字符串。
回复 支持 反对

使用道具 举报

发表于 2017-3-31 11:54:55 | 显示全部楼层
仅此而已 发表于 2017-3-31 11:50
dataType是不能编辑。我指的是input绑定的data的字段类型是Date。
data组件字段:id,start(Date),end ...

设置初始值 请不要直接给input 赋值!!
正确的思路是直接操作数据!
data.setValue('start',new Date())  
给data字段赋值就可以了!1
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

19

主题

94

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
发表于 2017-3-31 12:57:04 | 显示全部楼层
liangyongfei 发表于 2017-3-31 11:47
你是3.6版本吗??本地测试真的没问题!!

确定是wex5 3.6版本。请看图,上面为默认日期,只要是一点击,下面出现的日期就是2016.........

QQ图片20170331125418.png
回复 支持 反对

使用道具 举报

发表于 2017-3-31 13:53:55 | 显示全部楼层
liutong880818 发表于 2017-3-31 12:57
确定是wex5 3.6版本。请看图,上面为默认日期,只要是一点击,下面出现的日期就是2016.........

...

先试试 chrome 浏览器模拟效果!本地都是正常的!
3FS7T6M@%8[K]$OU1_W(238.png
I)_UX%0}QK1%V%H{SMP%FVW.png
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

19

主题

58

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
QQ
 楼主| 发表于 2017-3-31 13:55:16 | 显示全部楼层
liangyongfei 发表于 2017-3-31 13:53
先试试 chrome 浏览器模拟效果!本地都是正常的!

你截的图都是2016,哪里正常了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 07:42 , Processed in 0.074384 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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