Open rpyoyo opened 1 month ago
1、ProTable组件columnsState 设置 persistenceType 后初次加载会触发 onChange,不设置persistenceType时初次加载不会触发 onChange 事件 2、当设置value通过受控方式设置列状态时,初次加载触发onChange事件,如果storage里还没有缓存persistenceKey对应的内容,onChange回调获得的值非value设置的值,而是所有列字段 { "show": true },随后storage里缓存的列状态对象设置成value对应的值
1、设置columnsState的persistenceType、persistenceKey、value、onChange(console.log打印获得的列状态value) 2、清空persistenceType对应的storage 3、加载组件
在设置persistenceKey、persistenceType、value前提下 1、初次加载时,并未通过界面操作改变列状态,不希望触发onChange事件 2、可以接受加载时触发onChange事件,但希望获得的值是value对应的值,而不是所有列字段 { "show": true }
onChange中会对列状态的改变进行一些校验,例如限制显示列的数量,上述问题会导致由于第一次加载时所有列字段 { "show": true },触发了校验
复现地址:https://codesandbox.io/p/sandbox/shu-xing-zhan-shi-forked-y9kk9r?file=%2FApp.tsx
🐛 bug 描述
1、ProTable组件columnsState 设置 persistenceType 后初次加载会触发 onChange,不设置persistenceType时初次加载不会触发 onChange 事件 2、当设置value通过受控方式设置列状态时,初次加载触发onChange事件,如果storage里还没有缓存persistenceKey对应的内容,onChange回调获得的值非value设置的值,而是所有列字段 { "show": true },随后storage里缓存的列状态对象设置成value对应的值
📷 复现步骤
1、设置columnsState的persistenceType、persistenceKey、value、onChange(console.log打印获得的列状态value) 2、清空persistenceType对应的storage 3、加载组件
🏞 期望结果
在设置persistenceKey、persistenceType、value前提下 1、初次加载时,并未通过界面操作改变列状态,不希望触发onChange事件 2、可以接受加载时触发onChange事件,但希望获得的值是value对应的值,而不是所有列字段 { "show": true }
onChange中会对列状态的改变进行一些校验,例如限制显示列的数量,上述问题会导致由于第一次加载时所有列字段 { "show": true },触发了校验
💻 复现代码
复现地址:https://codesandbox.io/p/sandbox/shu-xing-zhan-shi-forked-y9kk9r?file=%2FApp.tsx
© 版本信息
🚑 其他信息