【问题标题】:PrimeReact currentPageReportTemplate stylingPrimeReact currentPageReportTemplate 样式
【发布时间】:2022-01-20 11:31:31
【问题描述】:

如何从该组件向属性 currentPageReportTemplate 添加样式:

public render(): React.ReactElement<IMonitoringProps> {

    const template = {
      layout: 'FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown CurrentPageReport',
      CurrentPageReport: `${this.props.strings.TotalRecords} {totalRecords}`
      // 'CurrentPageReport': <span style=
      //             {{fontFamily: 'Rubik, sans-serif',
      //               fontSize: '12px',
      //               fontWeight: 'normal',
      //               letterSpacing: '0px',
      //               color: '#667891'}}>
      //           {this.props.strings.TotalRecords} {this.state.totalCount}
      //         </span>
  };


    const tableColumns = this.getTableColumns();

    return (
      <div id="monitoring-page">
        <StyledFuncRow className="additional-func-row" data-test="func-row">
          <MonitoringFilters
            strings={this.props.strings}
            typeOptions={this.getTypeColumnOptions()}
            onRangeSelected={this.filterData}
          />
        </StyledFuncRow>

        <StyledMonitoringTable
          dataKey="id"
          tableClassName="monitoring-table"
          value={this.state.records}
          paginator={true}
          rows={this.tableRowsCount}
          first={this.state.first}
          lazy={true}
          expandedRows={this.state.expandedRows}
          rowExpansionTemplate={(data) => this.nestedTableTemplate(data)}
          totalRecords={this.state.totalCount}
          emptyMessage={this.props.strings.NoRecordsFound}
          onRowToggle={(e) => this.rowToggled(e.data)}
          onPage={this.onPageChanged}
          rowsPerPageOptions={[20, 50, 100]}
          pageLinkSize={11}
          paginatorTemplate="FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown CurrentPageReport"
          currentPageReportTemplate={`${this.props.strings.TotalRecords} {totalRecords}`}>
          {tableColumns}
        </StyledMonitoringTable>
      </div>
    );
  }

如您所见,我使用的是模板,但它不起作用。如何将模板对象中的注释样式添加到 currentPageReportTemplate?

【问题讨论】:

    标签: css reactjs primereact


    【解决方案1】:

    你做错了。查看展示示例:https://www.primefaces.org/primereact/datatable/paginator/

    const template1 = {
                layout: 'PrevPageLink PageLinks NextPageLink RowsPerPageDropdown CurrentPageReport',
                'PrevPageLink': (options) => {
                    return (
                        <button type="button" className={options.className} onClick={options.onClick} disabled={options.disabled}>
                            <span className="p-p-3">Previous</span>
                            <Ripple />
                        </button>
                    )
                },
                'NextPageLink': (options) => {
                    return (
                        <button type="button" className={options.className} onClick={options.onClick} disabled={options.disabled}>
                            <span className="p-p-3">Next</span>
                            <Ripple />
                        </button>
                    )
                },
                'PageLinks': (options) => {
                    if ((options.view.startPage === options.page && options.view.startPage !== 0) || (options.view.endPage === options.page && options.page + 1 !== options.totalPages)) {
                        const className = classNames(options.className, { 'p-disabled': true });
    
                        return <span className={className} style={{ userSelect: 'none' }}>...</span>;
                    }
    
                    return (
                        <button type="button" className={options.className} onClick={options.onClick}>
                            {options.page + 1}
                            <Ripple />
                        </button>
                    )
                },
                'RowsPerPageDropdown': (options) => {
                    const dropdownOptions = [
                        { label: 10, value: 10 },
                        { label: 20, value: 20 },
                        { label: 50, value: 50 },
                        { label: 'All', value: options.totalRecords }
                    ];
    
                    return <Dropdown value={options.value} options={dropdownOptions} onChange={options.onChange} />;
                },
                'CurrentPageReport': (options) => {
                    return (
                        <span className="p-mx-3" style={{ color: 'var(--text-color)', userSelect: 'none' }}>
                            Go to <InputText size="2" className="p-ml-1" value={this.state.currentPage} tooltip={this.state.pageInputTooltip}
                                onKeyDown={(e) => this.onPageInputKeyDown(e, options)} onChange={this.onPageInputChange}/>
                        </span>
                    )
                }
            };
    

    【讨论】:

      猜你喜欢
      • 2020-12-20
      • 2018-02-26
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 2020-03-19
      • 2023-01-18
      • 2020-01-07
      • 2021-09-07
      相关资源
      最近更新 更多