3

我正在使用材料表库:https ://material-table.com/#/

我创建了一个可重用的组件,所以我创建了一个包含一列和一个数据的表。我设置了版本和更新。但是,我发现自己必须在 BACK 中管理用户输入的数据的验证。我想设置与表单相同的系统,并使用像 yup 这样的验证方案。

这是代码:

<Table 
    title="List type tiers"
    column={[{ title: 'TYPE TIERS', field: 'libelle' }]}
    data={tiersList}
    isLoading={isLoading}
    editable={{
        onRowAdd: newData =>
            new Promise(resolve => {
                setIsLoading(true);
                setTimeout(() => {  
                    addTypeTiers(newData.libelle)
                        .then(() => {
                            recuperationListTiers();
                        })
                    resolve();
                }, 600);
            }),
        onRowUpdate: (newData) =>
            new Promise(resolve => {
                setIsLoading(true);
                setTimeout(() => {
                    updateTypeTiers(newData.id, newData.libelle)
                        .then(() => {
                            recuperationListTiers();
                        })
                    resolve();
                }, 600);
            }),
    }}
    pageSize={pageSize}
    initialPage={initialPage}
    search
    paging
    headerStyle={{ height: '15px', minHeight: 'unset', fontWeight: 'bold', color: 'white', padding: '5px 40px 5px 16px', backgroundColor: 'grey' }}
/>
4

1 回答 1

0

您将需要使用您自己的逻辑覆盖EditRow和/或EditField组件(只需将它们复制粘贴到您的项目并相应地修补),然后通过属性将这些覆盖提供给material-table配置。components

恐怕目前没有其他办法解决这个问题。

于 2019-10-19T06:40:58.623 回答