【问题标题】:mui-datatables:如何使用自定义列显示来自 AP 的数据?
【发布时间】:2021-06-20 09:12:57
【问题描述】:

mui-datatables : 如何从我的 API 中选择要显示的数据?基本上,我不想显示查询返回的所有数据,而只是显示其中的一部分。

[更新以添加当前代码]

export default function (state = initialState, actions) {
    switch (actions.type) {
        case types.GET_USERS:
            return {
                ...state,
                users: actions.payload.map(user => (
                    {
                        id: user.id,
                        fullName: user.owner.fullName,
                        bookingsCount: user.bookingsCount,
                        workspacesCount: user.workspacesCount,
                        status: user.status
                    }
                )),
                loading: false,
            }
        default:
            return state;
    }
}

当前代码返回未定义。

【问题讨论】:

    标签: reactjs redux material-ui mui-datatable


    【解决方案1】:

    通常 API 会返回一个对象数组,每个对象都包含所有字段。 使用此数组,您可以仅使用所需字段映射新的对象数组,甚至更改它们的属性:

    case 'FETCH_SOME_FIELDS' :
      return {
        ...state,
        myArray : action.payload.map(elem => ({newName1 : elem.name1, newName2 : elem.name2}))
    };
    

    【讨论】:

    • 当我尝试这样做时,我无法取回我的数据(用户)。 users: actions.payload.map(user => { return { id: user.id, fullName: user.owner.fullName, booking: user.bookingsCount, workspace: user.workspacesCount, status: user.status, createdAt: user.createdAt, } }),
    • 好吧,有件事.. 修正这一行: myArray : action.payload.map(elem => ({newName1 : elem.name1, newName2 : elem.name2}))
    • 当我尝试这个时,它不会返回数据。它返回未定义。我以不同的方式尝试过,但它总是返回 undefined
    • 目前看起来还不错,不过您可以使用模拟数组对其进行测试。您还应该测试您调度的动作/中间件
    猜你喜欢
    • 2020-09-26
    • 1970-01-01
    • 2022-07-14
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 2021-03-15
    相关资源
    最近更新 更多