You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ag-Grid单元格按钮点击跳转新页面并携带行可编辑数据实现问询

实现步骤

前置准备

如果还没有创建编辑页面组件,先执行Angular CLI命令生成:

ng generate component edit-row

1. 配置路由规则

修改app-routing.module.ts文件,添加编辑页面的路由配置:

import { EditRowComponent } from './edit-row/edit-row.component';

const routes: Routes = [
  // 保留你现有其他路由配置
  {
    path: 'edit-row/:id',
    component: EditRowComponent
  }
];

2. 改造列表页(app.component.ts)逻辑

2.1 注入路由服务

在文件头部导入路由依赖,构造函数中注入Router:

import { Router } from '@angular/router';

// ... 其他导入代码保持不变

export class AppComponent {
  constructor(private router: Router) {}
  // ... 其他现有代码保持不变
}

2.2 修改点击回调方法

替换原有的alert提示为路由跳转逻辑,两种传参方案可选:

CellUpdate(params){
  if (params.colDef.field === "changeSettings"){
    // 方案1:仅传递行ID(推荐,数据一致性更高)
    // 跳转后编辑页根据ID重新调用接口获取最新行数据,避免缓存旧数据
    this.router.navigate(['/edit-row', params.data.Id]);

    // 方案2:直接传递完整行数据(适合小数据量场景)
    // 无需二次调用接口,但用户刷新编辑页时数据会丢失
    // this.router.navigate(['/edit-row', params.data.Id], {
    //   state: {
    //     rowData: params.data
    //   }
    // });
  }
}

3. 编辑页接收参数加载数据

修改edit-row.component.ts,根据你选择的传参方案接收数据:

方案1对应接收逻辑:

import { ActivatedRoute } from '@angular/router';
// 导入你自己封装的接口请求服务
import { YourDataService } from './your-data.service';

export class EditRowComponent implements OnInit {
  editForm = 你的表单实例;

  constructor(
    private route: ActivatedRoute,
    private dataService: YourDataService
  ) {}

  ngOnInit() {
    // 获取路由参数中的行ID
    const rowId = this.route.snapshot.paramMap.get('id');
    // 调用接口获取当前行完整数据,填充到表单
    this.dataService.getRowDetail(rowId).subscribe(rowData => {
      this.editForm.patchValue(rowData);
    });
  }
}

方案2对应接收逻辑:

export class EditRowComponent implements OnInit {
  editForm = 你的表单实例;

  ngOnInit() {
    // 从路由状态中获取传递的行数据
    const rowData = history.state?.rowData;
    if (rowData) {
      this.editForm.patchValue(rowData);
    }
  }
}

内容的提问来源于stack exchange,提问作者Bheeshma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 14:15:02