Ant Design of React 是一个非常流行的 UI 框架,它提供了很多预制的组件,使得开发者可以快速地构建出美观且功能丰富的用户界面。
如果你想要在 Ant Design 的表格组件中实现带单元格编辑功能,你可以使用 Table 组件的 components 属性来自定义单元格的渲染方式。以下是一个简单的示例,展示如何创建一个可编辑的单元格:
jsx复制代码
import React, { useState } from 'react'; | |
import { Table } from 'antd'; | |
const EditableCell = ({ children, ...restProps }) => { | |
const [value, setValue] = useState(children); | |
const handleEdit = () => { | |
setValue(children); | |
}; | |
const handleChange = (event) => { | |
setValue(event.target.value); | |
}; | |
return ( | |
<td {...restProps}> | |
<input | |
value={value} | |
onChange={handleChange} | |
onBlur={handleEdit} | |
style={{ width: '100%' }} | |
/> | |
</td> | |
); | |
}; | |
const EditableTable = () => { | |
const columns = [ | |
{ | |
title: 'Name', | |
dataIndex: 'name', | |
key: 'name', | |
components: { body: EditableCell }, // 自定义渲染方式为 EditableCell | |
}, | |
// 其他列定义... | |
]; | |
const data = [ | |
{ key: '1', name: 'John Doe' }, // 数据源... | |
// 其他数据... | |
]; | |
return <Table columns={columns} dataSource={data} />; | |
}; | |
在上面的代码中,我们创建了一个名为 EditableCell 的自定义组件。这个组件接收子元素作为 children 属性,并使用 useState 钩子来跟踪当前值。在单元格的渲染中,我们使用一个 input 元素来展示和编辑值。当输入框失去焦点时,我们调用 handleEdit 函数来更新状态。当输入框的值发生变化时,我们调用 handleChange 函数来更新状态。通过这种方式,你可以在表格的单元格中实现编辑功能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论