About liangyongfei

该作者尚未填入任何详情
So far liangyongfei has created 485 blog entries.

windowDialog 设置mapping,根据鉴别列新增或修改的原理

如图,设置根据鉴别列修改或新增, windowDialog的页面最终调用send方法将子页面中映射的data 行返回父页面,父页面最终根据鉴别列进行判断, 如果鉴别列对应的映射列的值,在父页面data列中存在这个值,那么就将父data这行数据 对应的映射全部更新成 子data中 对应的行数据 如果鉴别列对应的映射列的值,在父页面data列中不存在这个值。那么父页面新增一行数据,并把子data 当前行的映射全部赋值给 父data 新增的行

input 绑定日期字段设置最大值和最小值范围

1、将input 组件 min或max的属性设置为:$model.test() 2、在JS文件中添加自定义方法 Model.prototype.test = function() { var today = new Date(); var nextDay = new Date(today); nextDay.setDate(today.getDate() -18250); //计算最小日期为前50年(开始上班日期) 365*50 return nextDay; }; 另外关于日期的计算函数还可以参考:http://doc.wex5.com/js-api-date/

js回调方法如何使用this.comp(‘xid’) 或 this.getElementByXid(‘xid’)

wex5 开发的页面,js的定义语法规则一般都是Model.prototype.方法名,这样的方法相互调用的时候直接使用this.方法()  即可 this  表示的就是model对象! 示例如下: Model.prototype.test= function(){ this.comp('xid') ; this.getElementByXid('xid'); }; 但是在一些特殊的情况下,比如回调方法中,或者js定义格式不是Model.prototype.方法名 ,而是自己定义的js对象,这个时候就不能直接写this.方法() 了 解决方法 1.在回调函数的外层重新定义一个变量,比如var me = this; 在回调函数中使用me.comp() 或me.getElementByXid Model.prototype.test= function(){ var me = this; cordova.getAppVersion.getVersionNumber(function(){ var input = [...]

data不自动刷新,接受参数后才刷新data实现方案

1.data组件设置不自动刷新,就是将data组件的autoLoad 设置为false !并且把关联此data组件的其他组件(比如list组件)的autoLoad也设置为false  ,因为其他组件自动加载也有可能触发data组件刷新数据的! 2.建议在onModelConstructDone  事件中,获取参数 ,执行data.setFilter 和 data.refreshData() 刷新数据,比onload事件中实现,页面效果会好一些,因为这样页面不会初始化以后重新渲染,接收参数的做法参考:http://docs.wex5.com/wex5-ui-question-list-2052/

PC页面和mobile 页面如何自适应

一般情况下。由于PC页面 和 手机首页显示的风格差异比较大!比如PC 使用grid dataTables 组件显示列表! 而手机一般使用list组件 循环显示列表。所以PC和手机开发一套界面很难做到自适应效果! 如果手机和PC的风格显示是类似的!表单布局也是一样的,这种情况下,就可以做同一套界面,使用row组件 设置 col 的class属性 ,根据屏幕分辨率,每行显示不同列数据(比如,pc每行显示3列,手机每行显示1列,使用流式布局。可以做到横向显示的自适应)!! 如果PC 和 手机差异比较大的情况,有两种方案: 1. 开发两套界面功能!手机运行手机的界面!PC运行PC的界面!两个功能访问 的URL 是不一样的 ,后端使用同一个逻辑!(相当于两个应用) 2. 如果想让两个页面访问的URL 也是一样的!那么可以把他们的页面开发放在一起。文件命名是一样的!只不过后缀名后差异,PC访问的功能页面后缀名是.w ,手机访问的页面后缀名是.m.w 这样,两套页面放在同一个路径下!当pc访问这个URL的时候,只会请求.w文件! 手机访问这个URL的时候,会优先访问.m.w 文件! 这样就可以做到,用一个应用下手机访问手机页面,PC访问PC 页面,并且是同一个URL地址!(实现了效果上的自适应能力) 注意:只能在UIServer 下使用,访问的url地址后缀名是.a 比如访问: http://localhost:8080/x5/UI2/demo/tuniu/index_main.a PC会优先访问:http://localhost:8080/x5/UI2/demo/tuniu/index_main.w [...]

连续关闭多个shell.showPage打开的页面,路由冲突问题

一般关闭当前页面的方法,就是调用this.close() 但是这种关闭的方法,Android 手机物理回退键 会重新打开此页面! 如果连续调用多个页面的关闭方法,物理回退键会依次路由回去!这就是因为关闭页面的方法和 物理回退不一致导致的! 解决方案 比如 A 页面 打开 B 页面 B打开C > D > E > F 想从 F 页面直接回到B页面进行操作,连续关闭4个页面,可以在F页面中直接执行一行代码 history.go(-4) history.go(-n) n 表示连续回退多次!

ios打包报错:证书引起的问题

1.ios打包 报错 :SecKeychainItemImport: The specified keychain could not be found 这个错误原因是:证书失效了,重新导出一份证书就可以了 2.报错信息 :No provisioning profiles matching an applicable signing identity were found 原因可能是证书不符合打包的要求!比如包名和bindID 不一致 3.Code Sign error: No code signing identities found: No valid signing [...]

div中放置多个子元素,touch拖动的时候当做一个整块进行拖动

在案例中主要的代码如下:判断当前拖动的dom节点是不是我要的那个div ,如果不是,说明就是拖动了子元素,那么就通过this.parentNode 获取父元素(还找到这个div,进行位置的变动) if(me.getElementByXid('drag') != this){ this.parentNode.style.webkitTransform = "translate3d(" + offx + "," + offy + ",0)"; return; } touch整体拖动案例下载 这个案例是根据/UI2/system/components/justep/touch/demo/touchjs/mainActivity.w修改的! 你可以覆盖上去看下演示效果和代码