事件中如何获取当前dom节点

事件分为两种,一种是on开头的事件,比如button组件的onClick  ,另一种是bind-事件 on事件 都是为组件定义封装的事件!是X5自己封装的,获取组件对象的方法是 event.source 获取dom对象的一个数组方法 : event.source.$domNode   bind-事件中获取当前dom的方法是: event.currentTarget  这个就属于标准的js事件了!

list组件拖动节点进行换行的做法

主要的做法思路就是!通过鼠标选中div拖动,并且和其他div碰撞的时候,交换两个div 对应的data组件的行!或者是冒泡排序的方式依次换行实现: 代码可以参考下:http://bbs.wex5.com/forum.php?mod=redirect&goto=findpost&ptid=82687&pid=165198909 另外data组件存储行对象的数组可以直接通过this.comp('data').datas获取到 参考:http://docs.wex5.com/wex5-ui-question-list-2046/

使用代码修改scrollView组件的提示文字

比如: var scrollVeiw = this.comp('ScrollView'); scrollVeiw.noMoreLoadLabel = '加载完成'; scrollVeiw.refresh(); 变量的名字可以看源码:/UI2/system/components/justep/scrollView/scrollView.js 分别是: this.pullDownLabel = "下拉刷新"; this.pullDownMoveLabel = "松开刷新"; this.pullDownLoadingLabel = "加载中...."; this.pullUpLabel = "加载更多"; this.pullUpMoveLabel = "释放加载"; this.pullUpLoadingLabel = "加载中...."; this.noMoreLoadLabel = "已经到最后.";   [...]

组件动态修改样式

1.x5组件提供的API文档方法: var input = this.comp('组件xid'); input.removeClass('b'); input.addClass('a'); 2.获取dom对象动态修改style属性!关于js动态修改style属性可以自己上网搜下 比如 this.getElementByXid('button1').style.visibility = 'visible'; 3.x5组件提供的API文档方法:setCSS 比如: this.comp("row1").setCSS({"background-color":"red"}); 4. query提供的样式修改方法:http://www.cnblogs.com/mengdd/p/4260577.html 5.KO对象实现样式的动态绑定效果 :http://docs.wex5.com/wex5-ui-question-list-2102

主从表设置数据显示

1.如果使用的是baasData组件,参考:/UI2/demo/baas/masterDetail/index.w    设置从表data的master属性为外键的字段就可以了! 2.如果是data组件,就需要手动写代码实现!当选择主表data某一行数据的时候,使用代码data.setFilter('filter',"外键字段='主表data的当前行ID列'");  并执行data.refreshData(); 3.如果使用的是list 或grid 组件实现前端过滤显示!不请求后台!可以通过设置组件的filter属性!每一行的外键字段等于主表当前行id的值即可!比如案例:/UI2/demo/tuniu/index-purpose.w 代码  : $row.val("fOneID")==$model.comp('placeOneData').val("fID") 4.还可以list嵌套显示,不过数据量大的情况下,不建议使用list嵌套显示!效率会比较低http://docs.wex5.com/wex5-ui-question-list-2005/

loadData 方法加载数据后,数据不显示!

正常执行data刷新的时候!autoLoad 设置为true 或者 调用data.refreshData() 方法的时候,默认会把数据切换到第一行!当前行就是第一行数据 但是如果没有执行刷新!而是直接使用loadData 方法加载数据,就会造成当前行不存在,这个时候,可以做一下操作 1.data.coutn()  是多少!要保证大于0 2.可以执行下data.first()方法,这个时候就切换到第一行显示了!