在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: YuSHL

[求助] O create via form

[复制链接]
发表于 2023-8-22 18:09:46 | 显示全部楼层


YuSHL 发表于 2023-8-22 18:01
好的,谢谢大佬,我试试


条件判断建议用case(),把其中一个当缺省返回值,否则第一遍执行hiCreateAppForm()有可能会因为找不到fields而生成失败
 楼主| 发表于 2023-8-23 08:41:00 | 显示全部楼层


着着着火了 发表于 2023-8-22 18:09
条件判断建议用case(),把其中一个当缺省返回值,否则第一遍执行hiCreateAppForm()有可能会因为找不到fie ...


没理解大佬的意思,callback的函数里要判断mode,需要先从form里得到它的值,但是这时候的form还没生成


                               
登录/注册后可看大图

发表于 2023-8-23 09:57:01 | 显示全部楼层


YuSHL 发表于 2023-8-23 08:41
没理解大佬的意思,callback的函数里要判断mode,需要先从form里得到它的值,但是这时候的form还没生成

...


radioField里的?choices有几个选项就写几个callback,callback这样写:?callback list("Form1_CB()" "Form2_CB()")
至于Mode的值,我为啥建议你用case()呢,就是因为case()有一个缺省的条件判断,你代码中没用这功能而已,这样写就好了:
case(mode
    ("Form2" ...)
    (t ...)
这样无论mode有没有被赋值都会有一个缺省返回值(就是“t”的那个分支)



 楼主| 发表于 2023-8-23 10:19:46 | 显示全部楼层


着着着火了 发表于 2023-8-23 09:57
radioField里的?choices有几个选项就写几个callback,callback这样写:?callback list("Form1_CB()" "For ...


Form1CB() Form2CB()是放在RdioField的?callback吗?那hiCreateAppForm()的?fields应该写什么?
发表于 2023-8-23 10:41:15 | 显示全部楼层
本帖最后由 着着着火了 于 2023-8-23 10:46 编辑


YuSHL 发表于 2023-8-23 10:19
Form1CB() Form2CB()是放在RdioField的?callback吗?那hiCreateAppForm()的?fields应该写什么?
...


Form1_CB()、Form2_CB()和?fields都指向那个返回list的函数就好了

感觉你还是没理清,callback是触发时才执行,?fields是初始化时就执行的,那个返回list的函数之所以让你返回一个缺省值就是为初始化准备的,写case是为了让radioField的callback触发的时候能返回不同的list,从而达到在同一个form上显示不同fields的作用
 楼主| 发表于 2023-8-23 10:50:18 | 显示全部楼层


着着着火了 发表于 2023-8-23 10:41
Form1_CB()、Form2_CB()和?fields都指向那个返回list的函数就好了

感觉你还是没理清,callback是触发时才 ...


没有理解,?fields后面也放Form1CB() 和Form2CB()?但是这样会报错,如果用apply()套一下就没反应了
发表于 2023-8-23 11:23:33 | 显示全部楼层
本帖最后由 着着着火了 于 2023-8-23 11:27 编辑


YuSHL 发表于 2023-8-23 10:50
没有理解,?fields后面也放Form1CB() 和Form2CB()?但是这样会报错,如果用apply()套一下就没反应了
...


radioFields的callback这样写:?callback list("test_MulFormField1()" "test_MulFormField1()")
因为都是触发同一个函数,所以可以只写一个:?callback "test_MulFormField1()"

appForm的?fields这样写:?fields test_MulFormField1()

有这么难理解吗

 楼主| 发表于 2023-8-23 13:06:55 | 显示全部楼层


着着着火了 发表于 2023-8-23 11:23
radioFields的callback这样写:?callback list("test_MulFormField1()" "test_MulFormField1()")
因为都是 ...


试了,到test_MulForm~>test_MulFormMode~>value就停了,这时候 test_MulForm还没创建,得不到Mode的值


                               
登录/注册后可看大图

发表于 2023-8-23 17:23:25 | 显示全部楼层


YuSHL 发表于 2023-8-23 13:06
试了,到test_MulForm~>test_MulFormMode~>value就停了,这时候 test_MulForm还没创建,得不到Mode的值

...


我去验证了一下,form生成之后fields没办法通过重构的方式去更新,虽然可以通过我的方法去修改list,但是系统不认了,看来还是得通过hiAddField/hiAddFields和hiDeleteField/hiDeleteFields这两个接口函数去修改fields。

很抱歉,给了你很多误导
 楼主| 发表于 2023-8-23 17:52:49 | 显示全部楼层
本帖最后由 YuSHL 于 2023-8-23 17:54 编辑


着着着火了 发表于 2023-8-23 17:23
我去验证了一下,form生成之后fields没办法通过重构的方式去更新,虽然可以通过我的方法去修改list,但是 ...


好的,后面那个方法我也试了,但是会有warning:  arg not a symbol,API里hiAddField这个函数就是输入symbol name,也修改不了,不知道是不是我写的有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 15:43 , Processed in 0.051752 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表