p:fileUpload在同一页面中不适用于pe:blockUI

时间:2018-07-19 11:05:22

标签: jsf file-upload primefaces blockui primefaces-extensions

使用该组件在同一页面上时,该组件无法正常工作

加载第一个文件后发生错误javascript错误,然后无法继续使用文件上传组件

blockUI元素如下:

<pe:blockUI widgetVar="uploadPrBroBloc" block="importPanel"
                        trigger=":pim:uploadProBroFile">
                        <em class="fa fa-spinner fa-spin"></em> #{msgs.UPLOADING}
                    </pe:blockUI>

fileUpload用户界面为:

<p:fileUpload id="uploadProBroFile" auto="true"
              styleClass="uploadImage"
              fileUploadListener="#{importPackageController.handleProductBrowserFileUpload}"
              label="#{msgs.BTN_UPLOAD_FILE}" allowTypes="/(\.|\/)(XLSX|xlsx)$/"
              update="proBro_file_name" />

我已经进行了一些搜索,问题是在元素上使用“触发”属性-似乎与之冲突

任何人有一个主意,谢谢!!

1 个答案:

答案 0 :(得分:2)

我找到了一个主意,可以在p:fileUpload UI事件中启用和禁用该块,而不是在blockUI中为其设置触发器:

p:fileUpload看起来像:

<p:fileUpload id="uploadProBroFile" auto="true"
              onstart="PF('uploadPrBroBloc').block()" 
              oncomplete="PF('uploadPrBroBloc').unblock()"
              styleClass="uploadImage"
              fileUploadListener="#{importPackageController.handleProductBrowserFileUpload}"
              label="#{msgs.BTN_UPLOAD_FILE}" allowTypes="/(\.|\/)(XLSX|xlsx)$/"
              update="proBro_file_name" />

blockUI元素将不使用触发器:

            <pe:blockUI widgetVar="uploadPrBroBloc" block="importPanel">
                <em class="fa fa-spinner fa-spin"></em> #{msgs.UPLOADING}
            </pe:blockUI>

希望这对遇到相同问题的人有所帮助!