@ blueprintjs / table如何使用箭头/ tab键导航

时间:2018-11-27 16:17:21

标签: reactjs blueprintjs

我想使用箭头/ Tab键浏览@blueprintjs/table。 我关注了these document,但找不到任何解决方案。 任何人都可以提供示例代码/解决方案的帮助。

我当前的组件如下。

import React, { Component } from 'react';
import { EditableCell, Column, Table } from "@blueprintjs/table";

class TestComponent extends Component {

    constructor(props) {
        super(props);
        this.renderCell = this.renderCell.bind(this);
    }
renderCell (rowIndex, columnIndex)  {
    const value = null;
    return (
        <EditableCell alue={value == null ? "" : value}/>
    );
}
    render() {
        const columns = ["Please", "Rename", "Me"].map((_ , index) => {
            return (
                    <Column key={index} cellRenderer={this.renderCell} enableFocus="true"/>
            );
    });
        return (
            <Table numRows={7} enableFocus="true">{columns}</Table>
        );
    }
}
export default TestComponent;

1 个答案:

答案 0 :(得分:2)

我找到了解决方案,所以回答我自己的问题。

我们应该对表组件使用 enableFocusedCell="true" ,以启用使用箭头/ tab键的导航。

请在下面找到示例代码。

首次导入CSS

import "@blueprintjs/table/lib/css/table.css";

然后创建一个如下所示的组件

import React, { Component } from 'react';
import { Cell, Column, Table } from "@blueprintjs/table";
const cellRenderer = (rowIndex) => {
    return <Cell>{`$${(rowIndex * 10).toFixed(2)}`}</Cell>
};
class LedgerGroup extends Component {

    constructor(props) {
        super(props);
    }


    render() {
        return (
            <Table numRows={10} enableFocusedCell="true">
                <Column name="Dollars 1" cellRenderer={cellRenderer}/>
                <Column name="Dollars 2" cellRenderer={cellRenderer}/>
            </Table>
        );
    }
}
export default LedgerGroup;