ant-design-pro5的ProTable中column中如何设置valueEnum属性

如果valueEnum按照如下设置可以使用

valueEnum: {
    0: { text: 'UAT', status: 'Default' },
    1: { text: 'PRO', status: 'Processing' },
    }

但是由于valueEnum的值是通过接口获取的,以下赋值就不可用了

const envList = {
0: { text: 'UAT', status: 'Default' },
1: { text: 'PRO', status: 'Processing' },
};

const columns: ProColumns<consulTableListItem>[] = [
        {
          title: '环境',
          dataIndex: 'env',
          valueEnum: {envList}
         }
];

protable源码中定义如下


/**
     * 值的枚举,如果存在枚举,Search 中会生成 select
     */
    valueEnum?: {
        [key: string]: {
            text: ReactNode;
            status: StatusType;
        } | ReactNode;
    };

求助要怎么给valueEnum赋值

阅读 13.9k
3 个回答

没看太懂问题,这样试试

valueEnum: {envList}
改成
valueEnum: envList
      valueEnum: {
         200: { text: '200' },
         400: { text: '400' },
         500: { text: '500' },
         404: { text: '404' },
       }

如果是接口获取的,应该是在hooks里面获取数据后再设置这个吧,我也是刚捡起前端~

新手上路,请多包涵
    const valueEnum = {};
    const selectText = this.state.roleList.map((item, index) => {
      const text = item.roleName;
      valueEnum[item.roleId] = {text};
    })
      {
        title: '角色',
        dataIndex: 'roleId',
        align: 'center',
        render: (dom, record, index, action) => {
          const text = record.roleList.map((item, index) => {
            return item.roleName + ' ';
          })
          return text;
        },
        // filters: true,
        onFilter: true,
        valueType: 'select',
        valueEnum: valueEnum,
      },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题