当前位置:   article > 正文

react antd protable内的Input输入框每次输入失去焦点_tabs input 输入字符后焦点自动没了

tabs input 输入字符后焦点自动没了

最后发现是我将rowKey={RndNum};

RndNum是一个函数

  1. // 获取一组十位数的随机数
  2. function RndNum() {
  3. var rnd = '';
  4. for (var i = 0; i < 10; i++) rnd += Math.floor(Math.random() * 10);
  5. return rnd;
  6. }

正是因为这个原因,导致我的输入框每次输入一个字符,就会失去焦点。

解决办法: rowKey="key",rowKey内直接使用值,而不是传入一个函数

完整代码如下:

  1. import { Form, Input, Radio, Modal, message, Button, Select } from 'antd';
  2. import { LeftOutlined } from '@ant-design/icons';
  3. import { useRef, useState, useEffect } from 'react';
  4. import _ from 'lodash';
  5. import ProTable from '@ant-design/pro-table';
  6. import styles from '../../../common.less';
  7. const { Option } = Select;
  8. const PutInSingleModal = (props) => {
  9. const PutInRef = useRef();
  10. const [form] = Form.useForm();
  11. const [basicTableData, setBasicTableData] = useState([{ key: 1 }]);
  12. useEffect(() => {
  13. setBasicTableData([{ ...basicTableData[0], ...props.values }]);
  14. }, [props.values]);
  15. const columns = [
  16. {
  17. title: '设备型号',
  18. dataIndex: 'equipModel',
  19. },
  20. {
  21. title: 'CSN',
  22. dataIndex: 'equipCsn',
  23. },
  24. {
  25. title: 'SN',
  26. dataIndex: 'equipSn',
  27. render: (text, record) => {
  28. return (
  29. <div>
  30. <Input
  31. style={{ width: '100%' }}
  32. onChange={(e) => onChangeParam(e.target.value, 'equipSn')}
  33. allowClear
  34. placeholder="请输入"
  35. value={record?.equipSn || ''}
  36. />
  37. </div>
  38. );
  39. },
  40. },
  41. ];
  42. const onOk = () => {
  43. };
  44. function onChangeParam(value, type) {
  45. let newParam = _.cloneDeep(basicTableData);
  46. newParam[0][type] = value;
  47. setBasicTableData(newParam);
  48. }
  49. return (
  50. <ProTable
  51. style={{ flex: 1, overflow: 'hidden' }}
  52. rowKey="key"
  53. collapseRender={false}
  54. dataSource={basicTableData}
  55. //自定义搜索栏按钮
  56. search={false}
  57. toolBarRender={false}
  58. options={false}
  59. columns={columns}
  60. pagination={false}
  61. bordered
  62. />
  63. );
  64. };
  65. export default PutInSingleModal;

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号