|
发表于 2024-9-20 16:57:07
来自手机
|
显示全部楼层
本帖最后由 szhtest 于 2024-9-20 17:12 编辑
论坛管理员 发表于 2024-9-20 10:17
已办进去是会执行的,您debugger跟踪一下,是否有进入
已办进去是有执行的,只是this.form.get(xx)打印出来undefined。然后我不知道为什么循环了好几次调用脚本里的方法。最后一次就有打印出来object了,在最后一次里readonly也有设置成功undefined,但表单控件依旧变成只读了,是不是脚本加载时机问题?
我翻了下api文档说是当前组件的query事件运行时还没在form里注册,通过this.form.get不能获取到当前组件,得用this.target.json获取。
然后我就没在脚本里另开this.define方法中写了,我直接在脚本写this.target.json.modulelist.组件id,这样的话只读获取到的是isReadonly了

1.this.form.get(xx).readonly和this.target.json.modulelist.xx.isReadonly的两种只读属性有什么区别?
2.this.target.json.modulelist.xx.isReadonly去除只读也是令它等于undefined吗?
3.我在脚本中开头这样写:this.target.json.modulelist.组件id.isReadonly 无论是 = undefined还是 = true,打印出来的属性值也有显示修改成功,但表单控件还是会变成只读。。。
只有在表单控件的queryload事件中单独写this.form.get(xx).readonly = undefined才能成功在已办中去除组件的只读样式。
难道是因为表单预加载脚本,表单整体事件,组件事件加载时机的原因吗?为什么我明明在脚本都成功修改了只读属性还是无法生效。
|
|