useState

/**
 * type :状态
 * editable(可以编辑) span onclick
 * editing(正在编辑) input onchange save
 * uneditable(不可以编辑 ) chirdren
 */
const useEditing = (initialState) => {
    const [editing, setEditing] = useState(initialState);
    const changeEditing = () => setEditing(!editing);
    return [editing, changeEditing];
};

const EditCell = (props) => {
    const [editing, changeEditing] = useEditing(false);
    const { editable, ...resProps } = props;

    const renderEditable = <span onClick={changeEditing}>renderEditable</span>;
    const renderEditing = (<Input {...props} />);
    const renderUneditable = resProps.chirdren;

    let rendered;
    if (!editable) {
        rendered = renderUneditable;
    } else if (editing) {
        rendered = renderEditing;
    } else {
        rendered = renderEditable;
    }
    return rendered;
};

有时间继续写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值