1

我正在制作一个交互式反应表。我的目标是制作一个在单击表格单元格中的按钮时每行可编辑的表格。

我设计了一个 EditableCell,如下所示:

import React, {useState} from "react";

export const EditableCell = ({
                                 value: initialValue,
                                 row: Row,
                                 column: {id, editable, state},
                                 isEditing,

                             }) => {
    // We need to keep and update the state of the cell normally
    const [value, setValue] = React.useState(initialValue);
    const {index} = Row;

    const onChange = e => {
        setValue(e.target.value);
    };

    // We'll only update the external data when the input is blurred
    const onBlur = () => {
        updateItem(index, id, value);
    }

    // If the initialValue is changed external, sync it up with our state
    React.useEffect(() => {
        setValue(initialValue)
    }, [initialValue]);

    let retObj = null;
    if (isEditing && editable) {
        switch (id) {
            default:
                retObj = <input className="input-edit w-100" value={value} onChange={onChange} onBlur={onBlur}/>;
                break;
        }
    } else {
               retObj = value
    } 
    return retObj;
}

在我的专栏中,我有:

{
 accessor: '[editButton]',
        Cell: (cellObj) => <button onClick={() => handleClickEditRow(cellObj.row.index)>Edit</button>
}

我现在如何从“EditableCell”编辑“isEditing”属性?

4

0 回答 0