0

我想显示一个用于两种模式的文本区域:

  • 修改模式,使用 p:editor
  • 一种可视化模式,其中只有文本区域可见。

哪个组件是这种可视化模式的最佳选择?我试过了:

  • p : editor : 我不希望工具栏可见。似乎无法隐藏它。
  • p:outputTextarea : p:editor 生成的 html 标签在 textarea 中可见
  • h: outputText :渲染与 p:editor 的渲染略有不同,最重要的是,由于没有垂直滚动条,文本会溢出其容器。

我还尝试使用 p:outputTextarea 进行编辑和可视化模式,但我会对 p:editor 中提供的更多工具感兴趣。

任何想法 ?

<p:panel id="panelDG">
        <p:dataGrid id="pdatagrid1" layout="grid" value="#{ib.bloc.groups}" var="group" columns="#{ib.bloc.groupsSize}" rowIndexVar="status">
             <!-- other components -->
               <p:panel styleClass="panel-textarea">
                   <s:account>  
                         <p:editor id="editor1" value="#{ib.textArea1}" rendered="#{status == 0}" maxlength="4000" controls="bold italic underline strikethrough bullets outdent indent alignleft center alignright justify undo redo"  />
                         <p:editor id="editor2" value="#{ib.textArea2}" rendered="#{status == 1}" maxlength="4000" controls="bold italic underline strikethrough bullets outdent indent alignleft center alignright justify undo redo"  />
                         <p:editor id="editor3" value="#{ib.textArea3}" rendered="#{status == 2}" maxlength="4000" controls="bold italic underline strikethrough bullets outdent indent alignleft center alignright justify undo redo"  />
                         <h:panelGrid >
                                <p:commandButton value="Save" action="#{ib.modifyGroupText(group)}"  icon="ui-icon-disk" />
                         </h:panelGrid>
                   </s:account>
                   <s:guest>
                          <h:outputText value="#{group.textArea}" escape="false"></h:outputText>
                   </s:guest>
             </p:panel>
       </p:dataGrid>
</p:panel

.panel-textarea{
height: 500px; 
}
4

2 回答 2

0

哦,我没见过 .ui-editor-toolbar 类!

否则,为避免在使用 h:outputText 时出现文本溢出:

.h-outputText{
display:block !important;
overflow-y: auto !important;
height: 400px !important;
} 

感谢所有答案

于 2015-10-19T10:16:24.277 回答
0

如果您想隐藏工具栏,<p:editor>因为用户没有编辑权限,您可以简单地使用 css。

小面

<p:editor styleClass="#{!login.editAccess ? 'hideToolbar' : ''}" disabled="#{!login.editAccess}" ... />

CSS

.hideToolbar .ui-editor-toolbar {
   display: none;
}
于 2015-10-16T11:40:19.747 回答