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

QQ登录

只需一步,快速开始

查看: 2385|回复: 9

[结贴] 图片过滤显示

[复制链接]

99

主题

402

帖子

1095

积分

金牌会员

Rank: 6Rank: 6

积分
1095
QQ
发表于 2017-12-27 17:52:44 | 显示全部楼层 |阅读模式
本帖最后由 小小123 于 2017-12-28 08:49 编辑

用这个示例/UI2/system/components/justep/attachment/demo/demoSimple.w,在页面显示图片;请问怎么没有对应的显示呢,现在只显示第一条数据的图片,没过滤。如图(图片是user表里的头像,我把user表里的fID存入这个评论表fType字段;所有后台是这样写的                   dcmenData.each(function(str){
                        var value = str.row.val('fImage');
                        var ownerID = str.row.val('fType');
                        var defaultValues = [];
                        if (value) {
                                try {
                                        var jsonList = eval("(" + value + ")");
                                        if (jsonList instanceof Array) {
                                                for(var i=0;i<jsonList.length;i++){
                                                        var realFileName = jsonList["realFileName"];
                                                        var storeFileName = jsonList["storeFileName"];
                                                        var operateType = "browse";
                                                        var url = '/baas/justep/attachment/simpleFileStore?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' +
                                                        ownerID + '&operateType='+ operateType;
                                                        var imgUrl = require.toUrl(url);
                                                        defaultValues.push({
                                                                img : imgUrl,
                                                                id : ownerID
                                                        });
                                                }
                                        }
                                } catch (e) {
                                        console.log(e);
                                }
                        }
                        imgsData2.clear();
                        imgsData2.newData({
                                defaultValues : defaultValues
                        });
                });        )


请问问题出在哪啊
1514367971(1).jpg
1514367995(1).jpg
白日不到处,
青春恰自来。
苔花如米小,
也学牡丹开。
发表于 2017-12-28 09:15:02 | 显示全部楼层
请参考案例
http://docs.wex5.com/wex5-ui-question-list-2093/

下载demo  运行参考下代码吧! 你的代码有问题
for 循环中 都没有使用 jsonList    获取每一项的值,怎么可能得到??
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

99

主题

402

帖子

1095

积分

金牌会员

Rank: 6Rank: 6

积分
1095
QQ
 楼主| 发表于 2017-12-28 10:07:29 | 显示全部楼层
本帖最后由 小小123 于 2017-12-28 10:26 编辑

我用了jsonList了啊。我就是按照这个demo做的啊
var realFileName = jsonList【i】["realFileName"];
        var storeFileName = jsonList【i】["storeFileName"];不知道为啥jsonList的【i】没有显示

真是代码如下: dcmenData.each(function(str){
                        var value = str.row.val('fImage');
                        var ownerID = str.row.val('fType');
                        var defaultValues = [];
                        if (value) {
                                try {
                                        var jsonList = eval("(" + value + ")");
                                        if (jsonList instanceof Array) {
                                                for(var i=0;i<jsonList.length;i++){
                                                        var realFileName = jsonList【i】["realFileName"];
                                                        var storeFileName = jsonList【i】["storeFileName"];
                                                        var operateType = "browse";
                                                        var url = '/baas/justep/attachment/simpleFileStore?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' +
                                                        ownerID + '&operateType='+ operateType;
                                                        var imgUrl = require.toUrl(url);
                                                        defaultValues.push({
                                                                img : imgUrl,
                                                                id : ownerID
                                                        });
                                                }
                                        }
                                } catch (e) {
                                        console.log(e);
                                }
                        }
                        imgsData2.clear();
                        imgsData2.newData({
                                defaultValues : defaultValues
                        });

白日不到处,
青春恰自来。
苔花如米小,
也学牡丹开。
回复 支持 反对

使用道具 举报

发表于 2017-12-28 11:15:05 | 显示全部楼层
小小123 发表于 2017-12-28 10:07
我用了jsonList了啊。我就是按照这个demo做的啊
var realFileName = jsonList【i】["realFileName"];
     ...

那你先试试,那个demo是否是正常的??
如果正常,你的图片显示就一个,可能是list绑定图片字段写错了
http://docs.wex5.com/wex5-ui-question-list-2036/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

99

主题

402

帖子

1095

积分

金牌会员

Rank: 6Rank: 6

积分
1095
QQ
 楼主| 发表于 2017-12-28 11:18:13 | 显示全部楼层
本帖最后由 小小123 于 2017-12-28 11:53 编辑
liangyongfei 发表于 2017-12-28 11:15
那你先试试,那个demo是否是正常的??
如果正常,你的图片显示就一个,可能是list绑定图片字段写错了
ht ...

我现在用$row.val('id')==$object.val('fType')在list里面过滤了;结果只显示了一张图片,如图:
95~$M2N{CP42HC2~9DZ]7CS.png
白日不到处,
青春恰自来。
苔花如米小,
也学牡丹开。
回复 支持 反对

使用道具 举报

发表于 2017-12-28 11:52:34 | 显示全部楼层
小小123 发表于 2017-12-28 11:18
这个我list我绑定的不是imgsData啊,我绑定的是我评论的那张表。那我该怎么显示这些头像啊?显示格式如图 ...

首先你的评论表 和 imgsData 肯定是有关联的吧!
根据当前行某个字段的值,去查询imgsData  中图片的url  然后bind-attr-src 绑定 一个自定义函数,通过js计算就可以得到图片路径
比如 imgsData.find()  查找哪行数据的图片


http://docs.wex5.com/wex5-ui-question-list-2210
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

99

主题

402

帖子

1095

积分

金牌会员

Rank: 6Rank: 6

积分
1095
QQ
 楼主| 发表于 2017-12-28 13:46:39 | 显示全部楼层
本帖最后由 小小123 于 2017-12-28 13:48 编辑
liangyongfei 发表于 2017-12-28 11:52
首先你的评论表 和 imgsData 肯定是有关联的吧!
根据当前行某个字段的值,去查询imgsData  中图片的url  ...

代码如下:Model.prototype.test1 = function(row){
                var id = row.val('fType');
                var imgsData2 = this.comp("imgsData2");
                //var dcmenData = this.comp("dcmenData");
                alert(id);
                alert(imgsData2.getRowByID(id));
                var url = imgsData2.getValue("img", imgsData2.getRowByID(id));               
                return url;
        }

id都能获取到,但是只能获取到一个row,不知道为啥(像这种头片中我评论表的list里面还需要嵌套一个list来显示头像吗?)
95~$M2N{CP42HC2~9DZ]7CS.png
白日不到处,
青春恰自来。
苔花如米小,
也学牡丹开。
回复 支持 反对

使用道具 举报

发表于 2017-12-28 14:24:19 | 显示全部楼层
小小123 发表于 2017-12-28 13:46
代码如下:Model.prototype.test1 = function(row){
                var id = row.val('fType');
        ...

你可以debugger调试下
url  值是多少??
imgsData2.getRowByID(id).val('img')   就是符合要求字段的值!   这要返回的url是正确的,图片就可以显示

如果没又符合条件的数据,或者逻辑错误导致,就可以出错
技术上没问题
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

99

主题

402

帖子

1095

积分

金牌会员

Rank: 6Rank: 6

积分
1095
QQ
 楼主| 发表于 2017-12-28 14:42:08 | 显示全部楼层
liangyongfei 发表于 2017-12-28 14:24
你可以debugger调试下
url  值是多少??
imgsData2.getRowByID(id).val('img')   就是符合要求字段的值 ...

按照您说的写的var url = "";                var id = row.val('fType');
                var imgsData2 = this.comp("imgsData2");
                alert(id);
                if(id){
                        url = imgsData2.getRowByID(id).val('img');
                        alert(url);
                }
                return url;
报错如图

1514443299(1).jpg
白日不到处,
青春恰自来。
苔花如米小,
也学牡丹开。
回复 支持 反对

使用道具 举报

99

主题

402

帖子

1095

积分

金牌会员

Rank: 6Rank: 6

积分
1095
QQ
 楼主| 发表于 2017-12-28 14:52:47 | 显示全部楼层
Model.prototype.test1 = function(row){
                var url = "";
                var imgUrl = "";
                var ownerID = row.val('fType');
                var value = row.val('fImage');
                if (value) {
                                try {
                                        var jsonList = eval("(" + value + ")");
                                        if (jsonList instanceof Array) {
                                                for(var i=0;i<jsonList.length;i++){
                                                        var realFileName = jsonList[i]["realFileName"];
                                                        var storeFileName = jsonList[i]["storeFileName"];
                                                        var operateType = "browse";
                                                        var url = '/baas/justep/attachment/simpleFileStore?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' +
                                                        ownerID + '&operateType='+ operateType;
                                                        var imgUrl = require.toUrl(url);
                                                        /*defaultValues.push({
                                                                img : imgUrl,
                                                                id : ownerID
                                                        });*/
                                                }
                                        }
                                } catch (e) {
                                        console.log(e);
                                }
                        }
                return imgUrl;


通过这样完美显示出来了,谢谢版主,结帖吧
白日不到处,
青春恰自来。
苔花如米小,
也学牡丹开。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 11:55 , Processed in 0.058332 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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