有没有办法在高级模式和自动模式下隐藏Primefaces fileUpload进度条和按钮?
以下是我正在使用的代码:
<p:fileUpload id="scriptUpload"
widgetVar="importDevicesWidget"
fileUploadListener="#{scriptUploadBean.handleFileUpload}"
auto="true"
label="Choose.."
mode="advanced"
update=":infoMessages"
sizeLimit="8192"
allowTypes="/(\.|\/)(txt)$/"
onstart="clearInvalidFileMsg();$('#progress').show();"
oncomplete="clearInvalidFileMsg();$('#progress').hide();importDevicesDialogWidget.hide()"/>
问题在于,每个文件的进度条旁边显示的按钮都没有意义,因为模式是自动的,因此上传已经开始了!
这是一个截图:
答案 0 :(得分:13)
根据3.4文档.ui-fileupload .start
,.ui-fileupload .cancel
和.ui-fileupload .progress
选择文件上传的“开始,取消和进度条:
<style type="text/css">
.ui-fileupload .start {
display: none;
}
.ui-fileupload .cancel {
display: none;
}
.ui-fileupload .progress {
display: none;
}
</style>
答案 1 :(得分:3)
对于 PrimeFaces 5 ,这可能是一个解决方案(使用它atm)
.fileupload-simple > .ui-fileupload-content {
display: none;
}
.fileupload-simple > .ui-fileupload-buttonbar {
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
}
然后在fileupload-simple
组件中使用fileUpload
课程,您就可以了:)
答案 2 :(得分:1)
嗯,当我能回答我自己的问题时,我喜欢它:
以下是更新后的代码:
<p:dialog appendToBody="true" id="importDevices" widgetVar="importDevicesDialogWidget" header="Import Devices" resizable="false" modal="true" onShow="centerDialog('#importDevicesDialog');">
<h:form id="importDevicesForm" enctype="multipart/form-data">
<h:panelGrid columns="1" cellpadding="5">
<p:fileUpload id="scriptUpload"
widgetVar="importDevicesWidget"
fileUploadListener="#{scriptUploadBean.handleFileUpload}"
auto="true"
label="Choose.."
mode="advanced"
update=":infoMessages"
sizeLimit="8192"
allowTypes="/(\.|\/)(txt)$/"
onstart="clearInvalidFileMsg();$('#progress').show();"
oncomplete="clearInvalidFileMsg();$('#progress').hide();importDevicesDialogWidget.hide()"/>
<p:spacer height="10px;"/>
<p:commandButton value="Cancel" action="javascript.void(0);" onclick="clearInvalidFileMsg();importDevicesDialogWidget.hide();"/>
</h:panelGrid>
</h:form>
</p:dialog>
这是更新的功能,它隐藏了进度条和按钮,并清除了错误:
function clearInvalidFileMsg(){
if ($("#importDevicesForm").is(':visible')){
importDevicesWidget.uploadContent.find("tr.ui-state-error").remove();
importDevicesWidget.uploadContent.find("td.progress").remove();
importDevicesWidget.uploadContent.find("td.start").remove();
importDevicesWidget.uploadContent.find("td.cancel").remove();
}
}
答案 3 :(得分:1)
为我工作。 Primefaces 6.0.1
<style type="text/css">
.ui-fileupload-content .ui-progressbar {
width: 0px;
height: 0px;
margin: 0
}
</style>
答案 4 :(得分:-1)
使用showButtons =&#34; false&#34;在fileUpload标记中。
例如:
<p:fileUpload id="fileUpload" mode="advanced" dragDropSupport="false" update="@form" sizeLimit="100000" fileLimit="3" allowTypes="/(\.|\/)(xlsx|xls)$/" multiple="false" label="Select File" showButtons="false"/>
&#13;