ant-design / pro-components

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

🐛[BUG] EditableProTable中valueType:为select且valueEnum的Map key是数字时行为不正确 #8317

Open foow123 opened 3 weeks ago

foow123 commented 3 weeks ago

🐛 bug 描述

使用EditableProTable,valueType:为select且valueEnum的Map key是数字时,不会根据columns中的valueEnum map表进行替换,但是字符串是可以的。而且在ProTable中,Key为数字时能正确处理。

📷 复现步骤

错误1

🏞 期望结果

期望结果

💻 复现代码

  valueType: 'select',
  valueEnum: {
    1: {
      text: intl.formatMessage({
        id: 'pages.hisDataList.type.boolean',
        defaultMessage: '布尔型',
      }),
    },
    2: {
      text: intl.formatMessage({
        id: 'pages.hisDataList.type.char',
        defaultMessage: '字符型',
      }),
    },
    3: {
      text: intl.formatMessage({
        id: 'pages.hisDataList.type.short',
        defaultMessage: '短整型',
      }),
    },
    4: {
      text: intl.formatMessage({
        id: 'pages.hisDataList.type.integer',
        defaultMessage: '整型',
      }),
    },
    5: {
      text: intl.formatMessage({
        id: 'pages.hisDataList.type.long',
        defaultMessage: '长整型',
      }),
    },
    6: {
      text: intl.formatMessage({
        id: 'pages.hisDataList.type.float',
        defaultMessage: '浮点型',
      }),
    },
    7: {
      text: intl.formatMessage({
        id: 'pages.hisDataList.type.double',
        defaultMessage: '双精度浮点型',
      }),
    },
  },

© 版本信息

🚑 其他信息

在ProTable和ProFormSelect中这个设置能够得到期望的行为: ProTable中: ProTable中的结果 ProFormSelect中: ProSelect中的结果

相同的数据和设置在不同的控件中不能表现出相同的行为,这样会大幅增加设计成本,希望能修改统一

zhuba-Ahhh commented 3 weeks ago

不太好动qaq https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/entries#%E7%A4%BA%E4%BE%8B

image
zhuba-Ahhh commented 2 weeks ago

https://codesandbox.io/p/sandbox/cha-xun-biao-ge-forked-zfryhq 看了下表现好像是一致的,编辑时好像都不行啊,在展示态表现的是映射的值:

image
foow123 commented 1 day ago

EditableProTable关了编辑就可以看到,之前一直开着没注意,但是为什么ProFormSelect可以呢?