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

p:fileUpload doesn't work with pe:blockUI in same page

在使用组件

的同一页面上时,组件无法正常工作

加载第一个文件后出现错误javascript出现错误后无法继续使用文件上传组件

块UI元素是这样的:

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

文件上传 UI 是:

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

我做了一些搜索,问题是在元素上使用 "trigger" 属性 - 似乎与它有冲突

有没有人有想法,在此先感谢!

我找到了一个想法,在 p:fileUpload UI 事件中启用和禁用块,而不是在块UI 中为其设置触发器:

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" />

块UI元素不会使用触发器:

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

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