在AntD的table里面实现点击按钮跳转路由

本文介绍了两种在Ant Design(AntD)Table组件内实现点击按钮跳转到指定路由并传递参数的方法。第一种方法使用`useHistory` hook,通过调用`history.push`来实现跳转。第二种方法则利用`Link`组件直接创建一个链接到目标路由。这两种方法都是React Router DOM库中的常见实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在AntD的table组件的操作栏里面,实现点击按钮跳转到路由指定路由,并携带参数

第一种

// 引入
import { useHistory } from "react-router-dom";
// 处理逻辑
let history = useHistory();
const onDetail = (row: ITableNode) => {
   let id: string = row.key
    history.push(`/havePowerDetail/${id}`)
  }
{
      title: '操作',
      key: 'action',
	  render: (row: ITableNode) => (
	      <Button type="link" onClick={() => {
	               onDetail(row)
	       }}>查看详情</Button>
  )
}


第二种(推荐)

import { Link } from "react-router-dom";

{
      title: '操作',
      key: 'action',
      render: (row: ITableNode) => (
        <Link to={`/havePowerDetail/${row.key}`}>
          编辑
        </Link>
      )
    }
### 实现模糊搜索功能 要在 Ant Design Vue 中实现模糊搜索功能,可以通过 `a-table` 组件的筛选能力来完成。具体来说,可以利用表格组件的数据源 (`dataSource`) 和列定义 (`columns`) 来设置过滤逻辑[^1]。 以下是完整的代码示例: #### 模板部分 ```vue <template> <a-table :dataSource="filteredData" :columns="columns" /> </template> ``` #### 脚本部分 ```javascript <script> export default { data() { return { dataSource: [ { key: '1', name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park' }, { key: '2', name: 'Jim Green', age: 40, address: 'London No. 1 Lake Park' }, { key: '3', name: 'Joe Black', age: 35, address: 'Sidney No. 1 Lake Park' } ], searchValue: '' }; }, computed: { filteredData() { const value = this.searchValue.toLowerCase(); if (!value) return this.dataSource; return this.dataSource.filter(item => item.name.toLowerCase().includes(value) || item.address.toLowerCase().includes(value) ); } }, methods: { onSearch(value) { this.searchValue = value; } }, created() { // 如果需要初始化数据或其他操作可在此处执行 } }; </script> ``` #### 样式部分(如果需要) ```css <style scoped> /* 自定义样式 */ </style> ``` 在这个例子中,通过监听输入框的变化或者按钮点击事件触发 `onSearch` 方法更新 `searchValue` 的值,并在计算属性 `filteredData` 中动态过滤数据。 --- ### 高德地图跨域解决方案 为了处理可能存在的跨域问题,在项目入口文件 `main.js` 中引入并注册 `VueJsonp` 插件可以帮助解决问题[^2]。 ```javascript import Vue from 'vue'; import VueJsonp from 'vue-jsonp'; Vue.use(VueJsonp); ``` 这样可以在请求高德地图 API 数据时避免 CORS 错误。 --- ### 页面路由配置 对于页面之间的跳转以及参数传递的需求,推荐使用 `vue-router` 完成导航管理[^3]。例如: ```javascript const routes = [ { path: '/home', component: Home }, { path: '/details/:id', component: Details } ]; const router = new VueRouter({ mode: 'history', routes }); new Vue({ router }).$mount('#app'); ``` 在实际开发过程中可以根据业务场景灵活调整路由规则和参数设计。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值