Open lynsun opened 1 year ago
这个问题请官方的同学帮忙解答下吧
遇到了相同的问题,
改了下util里的withWrap函数,把forwardRef去掉就好了
改了下util里的withWrap函数,把forwardRef去掉就好了
改了下util里的withWrap函数,把forwardRef去掉就好了
去掉forwardRef会导致一些物料组件比如 选择器 组件渲染异常
没看懂什么意思,本地开发组件,为什么后面又是拖入 antd-lowcode-materials 的 input 组件。
ithWrap函数,把forwardRef去掉就好
等于用 antd-lowcode-materials 进行二次开发
ithWrap函数,把forwardRef去掉就好
等于用 antd-lowcode-materials 进行二次开发
意思是本地初始化一个组件,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中,这样吗。还是说 fork 了 antd-lowcode-materials ,然后在 antd-lowcode-materials 里启动 lowcode:dev,启动调试无法选中。
ithWrap函数,把forwardRef去掉就好
等于用 antd-lowcode-materials 进行二次开发
意思是本地初始化一个组件,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中,这样吗。还是说 fork 了 antd-lowcode-materials ,然后在 antd-lowcode-materials 里启动 lowcode:dev,启动调试无法选中。
fork 了 antd-lowcode-materials,其中input select 都无法选中,其他答案中有相关解释https://github.com/alibaba/lowcode-engine/issues/1849
ithWrap函数,把forwardRef去掉就好
等于用 antd-lowcode-materials 进行二次开发
意思是本地初始化一个组件,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中,这样吗。还是说 fork 了 antd-lowcode-materials ,然后在 antd-lowcode-materials 里启动 lowcode:dev,启动调试无法选中。
本地初始化一个组件库,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中
我扒了下node_modules里antd-lowcode-materials build后的代码,发现utils/hoc里的withWrap函数是去掉了forwardRef的,但s是src里是没改的,估计是谁本地构建发了包,代码没提交
ithWrap函数,把forwardRef去掉就好
等于用 antd-lowcode-materials 进行二次开发
意思是本地初始化一个组件,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中,这样吗。还是说 fork 了 antd-lowcode-materials ,然后在 antd-lowcode-materials 里启动 lowcode:dev,启动调试无法选中。
本地初始化一个组件库,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中
我扒了下node_modules里antd-lowcode-materials build后的代码,发现utils/hoc里的withWrap函数是去掉了forwardRef的,但s是src里是没改的,估计是谁本地构建发了包,代码没提交
看楼上的回复,更大的可能是加了 forwardRef 但是没发。
下util里的withWrap函数,把forwardRef去掉
ithWrap函数,把forwardRef去掉就好
等于用 antd-lowcode-materials 进行二次开发
意思是本地初始化一个组件,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中,这样吗。还是说 fork 了 antd-lowcode-materials ,然后在 antd-lowcode-materials 里启动 lowcode:dev,启动调试无法选中。
本地初始化一个组件库,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中
我扒了下node_modules里antd-lowcode-materials build后的代码,发现utils/hoc里的withWrap函数是去掉了forwardRef的,但s是src里是没改的,估计是谁本地构建发了包,代码没提交
现在有什么好的处理方式吗?我尝试着去掉forwardRef,但这会导致select物料组件渲染异常
让维护 antd lowcode 物料的同学看一下~
下util里的withWrap函数,把forwardRef去掉
ithWrap函数,把forwardRef去掉就好
等于用 antd-lowcode-materials 进行二次开发
意思是本地初始化一个组件,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中,这样吗。还是说 fork 了 antd-lowcode-materials ,然后在 antd-lowcode-materials 里启动 lowcode:dev,启动调试无法选中。
本地初始化一个组件库,然后把 antd-lowcode-materials 的 Input Copy 过来,启动调试,无法选中 我扒了下node_modules里antd-lowcode-materials build后的代码,发现utils/hoc里的withWrap函数是去掉了forwardRef的,但s是src里是没改的,估计是谁本地构建发了包,代码没提交
现在有什么好的处理方式吗?我尝试着去掉forwardRef,但这会导致select物料组件渲染异常
有人知道“导致select物料组件渲染异常”是什么异常么,我去掉了forwardRef感觉也能渲染呀,着急用,也不能干等着!
这个问题现在解决了么 我这包裹了withWrap还是没有管用 还是不能在里面写forwardRef 写上之后就无法选中了
这个问题现在解决了么 我这包裹了withWrap还是没有管用 还是不能在里面写forwardRef 写上之后就无法选中了
去掉了forwardRef,先用着,也不知道后面有啥坑。
这个问题现在解决了么我这包裹了withWrap还是没有管用还是不能在里面写forwardRef写上之后就无法选中了
去掉了forwardRef,先用着,也不知道后面有啥坑。
去掉之后你这还能正常调到组件里面的ref了么
这个问题现在解决了么我这包裹了withWrap还是没有管用还是不能在里面写forwardRef写上之后就无法选中了
去掉了forwardRef,先用着,也不知道后面有啥坑。
去掉之后你这还能正常调到组件里面的ref了么
暂时没有这个场景。
`
export function withWrap(Comp: ComponentType
return (props: any) => { return <Comp {...props} />; }; } `
这样可以避免编辑态无法选中的问题 但新的问题是 预览态无法通过ref 获取到 目标组件的值了 比如输入框 就无法获取输入框的内容
` export function withWrap(Comp: ComponentType) { //return forwardRef((props: any, ref: Ref) => { //return <Comp {...props} ref={ref} />; //});
return (props: any) => { return <Comp {...props} />; }; } `
这样可以避免编辑态无法选中的问题 但新的问题是 预览态无法通过ref 获取到 目标组件的值了 比如输入框 就无法获取输入框的内容
` export function withWrap(Comp: ComponentType) { //return forwardRef((props: any, ref: Ref) => { //return <Comp {...props} ref={ref} />; //});
return (props: any) => { return <Comp {...props} />; }; } `
这样可以避免编辑态无法选中的问题 但新的问题是 预览态无法通过ref 获取到 目标组件的值了 比如输入框 就无法获取输入框的内容
这个也是我最棘手的问题,如果能有获取ref的方式的话,希望大佬同步一下~感谢
重现步骤:
不知道是否是本地脚手架自带的设计器的版本问题,我看官方demo里拖一个input进去是可以选中后设置属性的
Environments (please complete the following information) (required): / 请提供如下信息(必填) AliLowCodeEngine version: ^1.1.7 AliLowCodeEngineExt version: ^1.0.5 Browser: chrome 114
附:Input组件代码 import { createElement } from 'react'; import { Input as OriginalInput } from 'antd'; import { withWrap } from '../../utils/hoc';
const { Group: OriginalGroup, TextArea: OriginalTextArea, Password: OriginalPassword, Search: OriginalSearch, } = OriginalInput;
const Input = withWrap(OriginalInput);
(Input as any).Group = OriginalGroup; (Input as any).TextArea = withWrap(OriginalTextArea); (Input as any).Password = withWrap(OriginalPassword); (Input as any).Search = withWrap(OriginalSearch);
export default Input;