1

我想@blueprintjs/table使用箭头/tab 键导航。我遵循了这些文档,但找不到任何解决方案。任何人都可以帮助提供示例代码/解决方案。

我当前的组件如下。

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;
4

1 回答 1

4

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

我们应该使用enableFocusedCell="true"Table 组件,以使用箭头/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;
于 2018-11-30T08:08:53.500 回答