在ReactJS中,当你点击DataTable的某一行时打开一个弹出窗口,通常涉及到以下几个基础概念和技术:
以下是一个简单的示例,展示如何在React中实现点击DataTable行时打开一个模态框:
import React, { useState } from 'react';
import { Table, Modal, Button } from 'antd';
const data = [
{ key: '1', name: 'John', age: 32 },
{ key: '2', name: 'Jane', age: 28 },
];
const App = () => {
const [visible, setVisible] = useState(false);
const [selectedRow, setSelectedRow] = useState(null);
const showModal = (record) => {
setSelectedRow(record);
setVisible(true);
};
const handleOk = () => {
setVisible(false);
};
const handleCancel = () => {
setVisible(false);
};
const columns = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
},
{
title: 'Age',
dataIndex: 'age',
key: 'age',
},
{
title: 'Action',
key: 'action',
render: (text, record) => (
<Button type="link" onClick={() => showModal(record)}>
View Details
</Button>
),
},
];
return (
<>
<Table columns={columns} dataSource={data} rowKey="key" />
<Modal
title="Details"
visible={visible}
onOk={handleOk}
onCancel={handleCancel}
>
{selectedRow && (
<>
<p>Name: {selectedRow.name}</p>
<p>Age: {selectedRow.age}</p>
</>
)}
</Modal>
</>
);
};
export default App;
visible
状态正确更新。Modal
组件的visible
属性是否正确绑定到状态。showModal
)正确绑定到按钮的点击事件。通过以上步骤和示例代码,你应该能够在ReactJS中实现点击DataTable行时打开弹出窗口的功能。
领取专属 10元无门槛券
手把手带您无忧上云