我想显示一个用于两种模式的文本区域:
- 修改模式,使用 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;
}