PrimeFaces DataGrid分页器具有';P';隐藏Css中的单词
通过使用PrimeFacesDataGrid,我得到了这个奇怪的东西,我所做的只是通过将分页器从中间改为右边来修改css。如何删除“P”字PrimeFaces DataGrid分页器具有';P';隐藏Css中的单词,primefaces,datagrid,Primefaces,Datagrid,通过使用PrimeFacesDataGrid,我得到了这个奇怪的东西,我所做的只是通过将分页器从中间改为右边来修改css。如何删除“P”字 所有版本的PF在分页器中都有这些字符,但它们(通常)不可见 在中,paginator的客户端html如下所示: <div id="form:cars_paginator_bottom" class="ui-paginator ui-paginator-bottom ui-widget-header ui-corner-bottom" role="n
所有版本的PF在分页器中都有这些字符,但它们(通常)不可见 在中,paginator的客户端html如下所示:
<div id="form:cars_paginator_bottom" class="ui-paginator ui-paginator-bottom ui-widget-header ui-corner-bottom" role="navigation" aria-label="Pagination">
<span class="ui-paginator-current">(1 of 4)</span> <a href="#" class="ui-paginator-first ui-state-default ui-corner-all ui-state-disabled" aria-label="First Page" tabindex="-1">
<span class="ui-icon ui-icon-seek-first">F</span>
</a><a href="#" class="ui-paginator-prev ui-state-default ui-corner-all ui-state-disabled" aria-label="Previous Page" tabindex="-1">
<span class="ui-icon ui-icon-seek-prev">P</span>
</a>
<span class="ui-paginator-pages">
<a class="ui-paginator-page ui-state-default ui-state-active ui-corner-all" tabindex="0" href="#" aria-label="Page 1">1</a><a class="ui-paginator-page ui-state-default ui-corner-all" tabindex="0" href="#" aria-label="Page 2">2</a><a class="ui-paginator-page ui-state-default ui-corner-all" tabindex="0" href="#" aria-label="Page 3">3</a><a class="ui-paginator-page ui-state-default ui-corner-all" tabindex="0" href="#" aria-label="Page 4">4</a>
</span><a href="#" class="ui-paginator-next ui-state-default ui-corner-all" aria-label="Next Page" tabindex="0">
<span class="ui-icon ui-icon-seek-next">N</span>
</a><a href="#" class="ui-paginator-last ui-state-default ui-corner-all" aria-label="Last Page" tabindex="0">
<span class="ui-icon ui-icon-seek-end">E</span>
</a>
<label id="form:cars:j_id3_rppLabel" for="form:cars:j_id3" class="ui-paginator-rpp-label ui-helper-hidden">Rows Per Page</label>
<select id="form:cars:j_id3" name="form:cars_rppDD" aria-labelledby="form:cars:j_id3_rppLabel" class="ui-paginator-rpp-options ui-widget ui-state-default ui-corner-left" value="12" autocomplete="off">
<option value="6">6</option>
<option value="12" selected="selected">12</option>
<option value="16">16</option>
</select>
</div>
(第1页,共4页)
每页行数
6.
12
16
它们是F(第一)、p(前)、N(外部)和E(第二)。易于自己检查。这里值得注意的是,你和下一个有一个“p”。因此,您很可能正在使用旧(er)PF版本
由于它们在那里不可见,只有图标,我几乎100%确定它与主题化(css)相关。因此有两种选择:
- 如果您正在使用自定义CSS,请删除所有这些内容,然后查看是否仍然存在问题。如果不是,开始调查定制css的哪一部分会把这搞砸李>
- 如果您没有使用自定义css,或者当所有自定义css被删除时仍然存在问题,并且您正在使用(商业)PF主题,请在此处报告
- “p”在PrimeFaces渲染器中是硬编码的,这也给我带来了麻烦。。。我想从Cupertino中删除“默认”图像/图标并插入PrimeIcons。下面的这个类基本上是从
org.primefaces.component.api.UIData
类中获取硬编码字符串,因为假设“首页”链接类是“ui图标搜索第一”,查找“搜索-”,并将下一个字符大写为:)
如果你看一看PrimeFaces 7.0 showcase,他们使用带有PrimeIcons的主题,你可以在开发者工具中查看他们的CSS,看看他们是如何避免字母的。他们做的第一件事是将页面导航器中的所有
元素设置为display:none
,因此我想我将沿着相同的路径进行
尝试使用父锚元素('ui-paginator-prev'、'ui-paginator-last'等),我不是CSS专家,因此不知道是否有解决“经典”图标/图像的方法。对于矢量图形,我将尝试使用
:在锚定CSS之前。请不要在图像中发布代码。请阅读。您也可以覆盖PrimeFaces渲染器,但这可能有风险。
public class PageLinkRenderer {
public void render(FacesContext context, Pageable pageable, String linkClass, String iconClass, boolean disabled, String ariaLabel) throws IOException {
ResponseWriter writer = context.getResponseWriter();
String styleClass = disabled ? linkClass + " ui-state-disabled" : linkClass;
int textIndex = iconClass.indexOf("seek-");
String text = String.valueOf(iconClass.charAt(textIndex + 5)).toUpperCase();
String tabindex = (disabled) ? "-1" : "0";
writer.startElement("a", null);
writer.writeAttribute("href", "#", null);
writer.writeAttribute("class", styleClass, null);
writer.writeAttribute(HTML.ARIA_LABEL, ariaLabel, null);
writer.writeAttribute("tabindex", tabindex, null);
writer.startElement("span", null);
writer.writeAttribute("class", iconClass, null);
writer.writeText(text, null);
writer.endElement("span");
writer.endElement("a");
}
}