Reac AntDesign 组件内函数取值问题

答案在底部

获取提交“选项表格”类型表单。现已在组件外部获取选中数据(函数1,通过 rowSelection={rowSelection} 绑定),如何在组件内部的函数(函数2)获取函数1的值?貌似简单,没获取到。

const rowSelection = {     //我是函数 1
  onChange: (selectedRowKeys, selectedRows) => {
    console.log(
      `selectedRowKeys: ${selectedRowKeys}`,
      "selectedRows: ",
      selectedRows     //成功拿到数据
    );
  }
};

class TableForm extends Component<TableFormProps, TableFormState> {

  okHandle = () => {
    alert("我是函数2");
  };
  
render() {
  return (
  
<Modal onOk={this.okHandle}>
 **<Table rowSelection={rowSelection}>**
</Modal>

    );
  }
}

其实就是一个表单提交,提交按钮是函数2。
AAA.png

... ...
  state = {
    selectedRowKeys: [], 
    selectedRows: [],
  };
  
    onSelectChange = (selectedRowKeys,selectedRows) => {
    this.setState({ selectedRowKeys,selectedRows });
  };

  render() {
    const { selectedRowKeys } = this.state;
    const rowSelection = {
      selectedRowKeys,
      onChange: this.onSelectChange,
    };
    return (
    
... ...
阅读 2k
1 个回答

从这凌乱的排版里大致猜出你是要把函数一里获取到的状态给函数二使用,从嵌套关系来讲 Table 与 Modal 是 TableForm 的子组件,组件之间传递状态的方式参考 react 组件通信
最直接的方法是让 TableForm 传递一个方法,让 Table 修改 TableForm 的 state,handleOk 从 state 里读取。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题