ant-design / pro-components

🏆 Use Ant Design like a Pro!
https://pro-components.antdigital.dev
MIT License
4.28k stars 1.36k forks source link

🧐[问题]ProFormList中嵌套EditableProTable,EditableProTable列表中做删除操作,如何才能拿到当前EditableProTable的index #3741

Closed a330202207 closed 3 years ago

a330202207 commented 3 years ago

🧐 问题描述

ProFormList中嵌套EditableProTable,EditableProTable列表中做删除操作,如何才能拿到当前EditableProTable的index

🚑 其他信息

image image

AnteeHub commented 3 years ago

我自己没有在columns 的上下文中找到可以拿到index的方法,因为严格来说 columns 定义早于dataSource 的赋值。除非你本身的dataSource 就包含有一个 index 字段。

既然你使用了 editableTable,不妨在 onDelete 方法当中去获取,比如这样:


// typescript

onDelete:(key: Key, row: T) => {
    console.log(row.index); // index of row data
    return Promise.resolve(true);
}
a330202207 commented 3 years ago

我自己没有在columns 的上下文中找到可以拿到index的方法,因为严格来说 columns 定义早于dataSource 的赋值。除非你本身的dataSource 就包含有一个 index 字段。

既然你使用了 editableTable,不妨在 onDelete 方法当中去获取,比如这样:

// typescript

onDelete:(key: Key, row: T) => {
    console.log(row.index); // index of row data
    return Promise.resolve(true);
}

ProFormListitemRender可以拿到添加的EditableProTable的index值,但是我不知道这个index怎么给dataSource里面传值

至于你说的onDelete这个方法是,编辑时的删除操作吧,我这里的删除是编辑完成以后的删除

chenshuai2144 commented 3 years ago

在table中,

  render?: (
    dom: React.ReactNode,
    entity: Entity,
    index: number,
    action: ProCoreActionType | undefined,
    schema: ProSchema<Entity, ExtraProps, ComponentsType, ValueType> & {
      isEditable?: boolean;
      type: ComponentsType;
    },
  ) => React.ReactNode;

第三个参数就是 index,

在 formList 可以用 renderProps

{(field, index)=> dom }
landk520 commented 2 years ago

你好,ProFormList中怎么嵌套EditableProTable,刚使用antd-pro,求一个demo,🙏🙏 🙏

JackRoy1992 commented 1 year ago

你好,ProFormList中怎么嵌套EditableProTable,刚使用antd-pro,求一个demo,🙏🙏 🙏

实现了吗,我也遇到这么个需求,无从下手

a330202207 commented 1 year ago

https://procomponents.ant.design/components/group/#proformlist-renderprops-%E6%A8%A1%E5%BC%8F