在getOne之后有没有转换值的解决方案?

问题描述 投票:0回答:1

需要转换获取的对象,(例如 {..., "key": {"keyName": "keyValue"}})需要转换 {..., [{"name": "keyName ", "值": "keyValue"}]}

const { field }: any = useController({ name: 'headers', rules: { required: 'The field is required' } });

useEffect(() => {
    const newValue: { headerName: string; headerValue: any; }[] = []
        Object.keys(field.value).forEach(el => {
        newValue.push({ 'headerName': el, 'headerValue': field.value[el] });
    });
    // NOT UPDATING
    field.onChange(newValue)
}, []);
react-admin
1个回答
0
投票

withLifecycleCallbacks
助手就是为此而设计的。此函数允许您向特定资源的现有
dataProvider
添加逻辑,例如使用
pre-
post-
事件处理程序,例如
afterGetOne

例如:

const baseDataProvider = myDataProvider('http://path.to.my.api/');
export const dataProvider = withLifecycleCallbacks(baseDataProvider, [
    {
        resource: 'posts',
        afterGetOne: async (result, dataProvider) => {
            return transform(result); // transform the result and return it
        },
    },
]);

希望这有帮助:)

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.