平台默认的attachmentSimple组件点图标调用的是$model.previewOrRemoveItem.bind($model)打开附件查看
如果要调用自己当前.w对应的js中的方法,可以如下修改
$model.getModel().preview.bind($model.getModel(),$model,$object)
其中preview是js中的函数名,$model,$object是传的参数
默认的附件删除的时候也是找的这个方法,所以在自己定义的时候要判断一下是否执行的函数
js文件中定义如下:
Model.prototype.preview = function(owner,event) { var state = owner.$state.get(); var realFileName = event.realFileName.get(); var storeFileName = event.storeFileName.get(); var ownerID = owner.getOwnerID(); var operateType = 'browse'; var url = '$UI/system/service/doc/common/simpleFileStore.j?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' + ownerID + '&operateType=' + operateType; //判断是否是删除 if(state == 'remove'){ owner.deleteFile(storeFileName,ownerID) } else{ window.open(require.toUrl(url)); } }
评一波