PrimeFaces DataGrid分页器具有';P';隐藏Css中的单词

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

通过使用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="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");
          }
      }