在antd的Table组件的column中有ref,但是却取不到Dom对象?

图片描述

图片描述

图一中是Table组件的columns,其中render里有个Dom节点ref="editIpt",我想通过点击事件获取ref="editIpt"的节点,但是获取不到。。
后来查到this.refs.editIpt中的editIpt必须在react组件的render方法中才有效,,,我已经泪奔了,请问大神如何解决????

阅读 9.9k
3 个回答

显示 .name-show 那个 div 的时候,DOM 里面是没有 .name-edit 这个 div 的,自然也获取不到里面的 editIpt

在回调中获取

show Edit(index) {
    let { showEdit } = this.state;
    let newShowEdit = Object.assign({}, showEdit, { index: true });
    this.setState({
        showEdit: newShowEdit,
    }, () => {
        // 更新完 DOM 后的回调
        // 写在这里才能通过 ref 拿到 DOM
        console.log(this.refs.editIpt);
    })
}

this.refs.eidtIpt.refs.input 就可以获取到

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