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

QQ登录

只需一步,快速开始

查看: 3039|回复: 11

[处理中3] PagerBar、ScrollView、List和Data组件的数据感知问题

[复制链接]

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
发表于 2016-11-24 17:26:12 | 显示全部楼层 |阅读模式
PagerBar或ScrollView,与List组合起来展示Data组件中的静态数据
问题:当给出了List的filter条件后,PagerBar或ScrollView无法感知filter后的数据记录数,造成显示信息误导,这个问题应该很普遍,希望WeX5能给出一个详细的解决办法,谢谢!
发表于 2016-11-24 17:29:43 | 显示全部楼层
List的filter 设置方法可以参考:http://docs.wex5.com/wex5-ui-question-list-2018/

请问你是怎么做的??
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-11-25 16:34:28 | 显示全部楼层
liangyongfei 发表于 2016-11-24 17:29
List的filter 设置方法可以参考:http://docs.wex5.com/wex5-ui-question-list-2018/

请问你是怎么做的? ...

跟那里写的不一样
                        inputCx = inputCx.replace(/\s+/g,"");
                        inputCx = inputCx.toUpperCase();
                        this.comp('input2').val(inputCx);//获取搜索文本框的数据

                        list4.filter = "$row.val('fCx').indexOf('" + inputCx + "')>=0";
                        list4.filter = list4.filter + " || $row.val('fCxmc').indexOf('" + inputCx + "')>=0";
                        list4.filter = list4.filter + " || $row.val('fZaiz').indexOf('" + inputCx + "')>=0";
                        list4.filter = list4.filter + " || $row.val('fZiz').indexOf('" + inputCx + "')>=0";
                        list4.filter = list4.filter + " || $row.val('fZhouz').indexOf('" + inputCx + "')>=0";
                        list4.filter = list4.filter + " || $row.val('fZxj').indexOf('" + inputCx + "')>=0";
                        list4.filter = list4.filter + " || $row.val('fKzf').indexOf('" + inputCx + "')>=0";
                        list4.filter = list4.filter + " || $row.val('fCg').indexOf('" + inputCx + "')>=0";
                        //设置list的filter条件

                        list4.refresh(true);
我是这样写的,然后list显示的过滤结果是想要的,但是PagerBar或ScrollView的显示信息还是按照未过滤值得的记录数显示的,【如何才能按照过滤后的记录数显示分页信息或相关的提示信息呢?】
回复 支持 反对

使用道具 举报

发表于 2016-11-25 16:48:52 | 显示全部楼层
zhongming0452 发表于 2016-11-25 16:34
跟那里写的不一样
                        inputCx = inputCx.replace(/\s+/g,"");
                        inputCx = inputCx.toUpperCase();

不能这样写!这个种格式不正确!
必须按我给的案例那样写才行!
filter 属性直接绑定一个自定义js方法!所有的逻辑都写在js方法中!
通过修改KO 对象或data字段的值,他就会重新触发这个方法,根据不同的判断条件执行业务逻辑
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-11-25 17:40:12 | 显示全部楼层
liangyongfei 发表于 2016-11-25 16:48
不能这样写!这个种格式不正确!
必须按我给的案例那样写才行!
filter 属性直接绑定一个自定义js方法! ...

,大概明白您的意思,但您提供的那个例子不太完整,能否帮我写一个简单的完整的例子,谢谢谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-11-25 17:47:23 | 显示全部楼层
zhongming0452 发表于 2016-11-25 17:40
,大概明白您的意思,但您提供的那个例子不太完整,能否帮我写一个简单的完整的例子,谢谢谢谢! ...

你先动手试试吧!很简单的,原理就是通过判断KO对象的值!执行不同的逻辑!
而你想刷新list的时候只需要给KO对象赋值即可!

data字段本身也是属于KO对象!所以你的filter绑定的函数中,也可以判断data字段的值处理逻辑!
只要data.setValue 修改字段的值!那么filter就会立即重新执行的
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-11-25 17:48:49 | 显示全部楼层
liangyongfei 发表于 2016-11-25 17:47
你先动手试试吧!很简单的,原理就是通过判断KO对象的值!执行不同的逻辑!
而你想刷新list的时候 ...

,好吧
回复 支持 反对

使用道具 举报

8

主题

131

帖子

311

积分

中级会员

Rank: 3Rank: 3

积分
311
QQ
发表于 2016-11-26 00:14:57 | 显示全部楼层
在list里用filter,这样的搜索功能不咋明智啊,还是去baasdata用filter吧
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-11-28 09:22:24 | 显示全部楼层
deltaboy 发表于 2016-11-26 00:14
在list里用filter,这样的搜索功能不咋明智啊,还是去baasdata用filter吧

我这边使用的时静态数据,是在APP运行时通过json文件加载到data组件中去的,不执行后台的sql语句呀
回复 支持 反对

使用道具 举报

发表于 2016-11-28 13:39:18 | 显示全部楼层
zhongming0452 发表于 2016-11-28 09:22
我这边使用的时静态数据,是在APP运行时通过json文件加载到data组件中去的,不执行后台的sql语句呀 ...

那就只能是前端过滤来实现了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 10:40 , Processed in 0.065028 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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