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

QQ登录

只需一步,快速开始

查看: 3712|回复: 10

[结贴] attachmentsimple上传的文件给image赋值。

[复制链接]

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
发表于 2016-12-2 15:45:02 | 显示全部楼层 |阅读模式
我在baasdata组件中增加一列存储attachmentsimple的数据,希望将图片的地址赋值给img_url用于显示(我只允许上传一张图片)。 13.png
attachmentsimple正常。
12.png
现在的问题是我希望将上传的图片的地址赋值给image1的bind-attr-src。搞了半天也没有搞定,还参考了这个:http://docs.wex5.com/wex5-ui-question-list-2022/


其中的js代码都是张贴过来的。我的设置如下,请大家指教,本人初学,基本没有基础。谢谢!
11.png


1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2016-12-2 16:52:18 | 显示全部楼层
先不要想着动态显示  先以一个为例  跑通在写动态的   我觉得你的路径拼的可能就不正确  
回复 支持 反对

使用道具 举报

发表于 2016-12-2 16:55:26 | 显示全部楼层
如果是多张图片的话,
需要你自己定义一个data组件,定义一个字符串字段,用于存储所有的图片url

使用list绑定这个data组件字段即可!显示所有图片!

attachmentSimple所绑定的字段是一个数组的json 数据,

案例中使用的是jsonList[0] 获取的第一个元素!而你应该循环jsonList ,获取所有的数据,循环处理,把他们放置在自定义的data组件中即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2016-12-2 17:27:38 | 显示全部楼层
liangyongfei 发表于 2016-12-2 16:55
如果是多张图片的话,
需要你自己定义一个data组件,定义一个字符串字段,用于存储所有的图片url

我的attachmentsimple绑定的asjson字段已经获取到了上传的值了:[{"storeFileName":"C75277C22DD00001E07F18604AB01A65","realFileName":"13.png"}]
我只允许上传一张图片,而且现在也的却上传了,只是我在赋值给image1的时候一直搞不出来。而不是有很多张图片。示例的代码如下我稍微修改,请帮忙看看!
// 图片路径转换
Model.prototype.getImageUrl = function(asjson,goods_id) {
if (asjson) {
try {
var jsonList = eval("(" +asjson+ ")");
if (jsonList instanceof Array) {
var realFileName = jsonList[0]["realFileName"];
var storeFileName = jsonList[0]["storeFileName"];
var operateType = "browse";
var url = '/baas/justep/attachment/simpleFileStore?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' + goods_id + '&operateType=' + operateType;
alert(url);
return require.toUrl(url);
}
} catch (e) {
console.log(e);
}
}
return "";
};

另外那个bind-attr-src里写$model.getImageUrl()对不对?还是要带参数?
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2016-12-2 17:32:41 | 显示全部楼层
半导体 发表于 2016-12-2 16:52
先不要想着动态显示  先以一个为例  跑通在写动态的   我觉得你的路径拼的可能就不正确   ...

我想把attachmentsimple绑定的“asjson”的图片的地址取出来放在image组件,只是老是搞不定,其实应该就是在js里定义一个函数,在image的bind-attr-src里调用然后得到结果。帮忙看看函数是不是错了,还是那个bind-attr-src没有写对!
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2016-12-5 09:24:11 | 显示全部楼层
自己顶一顶,各位大神帮忙看看,如何做?
回复 支持 反对

使用道具 举报

发表于 2016-12-5 13:49:56 | 显示全部楼层
ufo1982ufo 发表于 2016-12-2 17:32
我想把attachmentsimple绑定的“asjson”的图片的地址取出来放在image组件,只是老是搞不定,其实应该就 ...

你看下方法定义:Model.prototype.getImageUrl = function(asjson,goods_id) {
就是需要带两个参数的,一个是attachmentSimple组件bind-ref所绑定的值,第二个参数是 id列的值!

当然你也可以不传参数进来,直接在方法中使用this.comp('dataXid')  获取组件对象!
data.getValue('字段')   获取字段的值进行操作!

写js代码建议会调试js:http://docs.wex5.com/js-debug/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2016-12-5 18:28:57 | 显示全部楼层
liangyongfei 发表于 2016-12-5 13:49
你看下方法定义:Model.prototype.getImageUrl = function(asjson,goods_id) {
就是需要带两个参数的,一 ...

之前我测试用了带参数和不带参数(参数在函数内定义),一直都不成功,图片的bind-attr-src始终是没有赋值成功。实在没有办法我花了2天时间换成了attachmentsimple的自带“getFileUrl“,貌似可以显示了。代码如下:
  1.         Model.prototype.saveBtn = function(event){
  2.                 var data =this.comp('goodsData');
  3.                 var row=this.comp("goodsData").getCurrentRow();
  4.                         if(row.val('asjson')!='[]'){
  5.                                 var jsonList = eval("(" + row.val('asjson') + ")");
  6.                                 var ownerID = row.getID();
  7.                                 var realFileName = jsonList[0]["realFileName"];
  8.                                 var storeFileName = jsonList[0]["storeFileName"];
  9.                                 var operateType = "browse";
  10.                                 var url=this.comp("attachmentSimple1").getFileUrl(realFileName,storeFileName,ownerID,operateType);
  11. //alert(url);
  12.                                 data.setValue('img_url',url);
  13.                                 data.saveData();
  14.                         }else{
  15.                                 data.setValue('img_url','[]');
  16. //alert(data.getValue('img_url'));
  17.                                 data.saveData();}
  18.         };       
复制代码
998888.png
图片在下方已经会显示出来了,不过的确不知道为什么那个getImageUrl会用不了!

麻烦你看看我上面的代码这样写对不对?非常感谢你的解答!!
回复 支持 反对

使用道具 举报

发表于 2016-12-6 09:29:00 | 显示全部楼层
ufo1982ufo 发表于 2016-12-5 18:28
之前我测试用了带参数和不带参数(参数在函数内定义),一直都不成功,图片的bind-attr-src始终是没有赋 ...

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

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2016-12-6 10:36:05 | 显示全部楼层
liangyongfei 发表于 2016-12-6 09:29
http://docs.wex5.com/wex5-ui-question-list-2093/

好的,非常谢谢,请结贴!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 00:26 , Processed in 0.065789 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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