为什么自动对焦在 ReactJS 和 antd 中不起作用?

Jos*_*eto 6 javascript reactjs antd

我在使用自动对焦时遇到了麻烦,我搜索了很多,但没有找到适合我的解决方案,我使用的是一个抽屉,里面有一个表单,该表单有一些带有输入的 Form.Item,当我打开抽屉,我想专注于form.item,有人可以帮助我吗?

这是我的代码:

<Drawer>
  <Form layout="vertical" ref={this.formRef} onFinish={this.onFinish} onFinishFailed={this.onFinishFailed}>    
    <Row gutter={16}>
      <Col span={24}>
        <Form.Item
          name="description"
          label="Description"
          rules={[
            {
              required: true,
              message: 'Please enter a description.',
            },
          ]}
        >
          <Input.TextArea autoFocus rows={10} placeholder="Please enter a description." />
        </Form.Item>
      </Col>
    </Row>
    <Row style={{ bottom: '0', position: 'absolute', right: '38px' }}>
      <Form.Item>
        <Button
          onClick={this.onClose}
          style={{ marginRight: 8 }}
        >
          Cancel
      </Button>
      </Form.Item>
      <Form.Item>
        <Button type="primary" htmlType="submit">
          Submit
        </Button>
      </Form.Item>
    </Row>
  </Form>
</Drawer>
Run Code Online (Sandbox Code Playgroud)

Dan*_*nko 7

根据文档autoFocus不支持 prop (就像它在<input />元素上一样)。之前没有使用过这个 ui lib,所以不能说使用手动设置焦点ref是否有效。

更新:

刚玩了一下,好像可以手动设置焦点:

  1. 演示
  2. 代码

另一个更新:

  1. 带抽屉演示
  2. 代码