查看: 3392|回复: 5

elradio控件刷新问题

升级   5.45%

43

主题

26

回帖

545

积分

注册会员

Rank: 2

积分
545
发表于 2024-3-4 11:40:17 | 显示全部楼层 |阅读模式
elradio控件的值是通过脚本动态获取的。现在需要对控件的值进行刷新,试过了以下几种方法
1、通过reload()。不行。值虽然变了,但是选项不能选了,那个点选的圆圈变成了“>”符号
2、通过resetOption()。不行。结果同上
3、通过var json = this.form.get("控件名").json; json.options = [新值]。不行。数据变了,但是界面上没有呈现出来。

请问elradio控件如何进行刷新,从而实现动态获取选项。
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2024-3-4 17:06:17 | 显示全部楼层
就是reload或者resetOption,您可选值的脚本怎么写的,截图看看
什么版本的o2server,用的什么浏览器?
回复

使用道具 举报

升级   5.45%

43

主题

26

回帖

545

积分

注册会员

Rank: 2

积分
545
发表于 2024-3-5 13:47:18 | 显示全部楼层
论坛管理员 发表于 2024-3-4 17:06
就是reload或者resetOption,您可选值的脚本怎么写的,截图看看
什么版本的o2server,用的什么浏览器?
...


这个是可选值的代码



o2server的版本是

用的是chrome,版本 115.0.5790.102(正式版本) (64 位)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

3

主题

1687

回帖

1018

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1018
发表于 2024-3-6 09:25:28 | 显示全部楼层
您贴的代码中没看到用了 reload或者resetOption
回复

使用道具 举报

升级   5.45%

43

主题

26

回帖

545

积分

注册会员

Rank: 2

积分
545
发表于 2024-3-7 13:14:19 | 显示全部楼层
本帖最后由 hmh01cn 于 2024-3-7 13:18 编辑
xadmin 发表于 2024-3-6 09:25
您贴的代码中没看到用了 reload或者resetOption

我在表单上引入了一个子表单。上面的代码是写在elselect的可选值脚本里面的。
然后表单上点击按钮,就会以弹窗的形式将子表单呈现出来。
以下是按钮的事件代码:
[JavaScript] 纯文本查看 复制代码
this.form.get("XYBLC").reload();

if (workname == "申请" && this.data.JSR_FGLD != "NULL"){

    //打开审批界面
    var contentNode = this.form.get("div_TJ").node.show();
    var node = contentNode.getFirst();
    var _self = this;

    this.form.dataGridDlg = o2.DL.open({
        "title": "选择审批流程",
        "width": "650",
        "height": "400",
        "overflow": "auto",
        "mask": true,
        "content": node,
        "isClose":false,
        "isTitle": false,
        "container":this.form.node(),
        "positionNode": this.form.getApp().content,
        "onQueryClose": function(){
            node.inject(contentNode);
            contentNode.hide();
        }.bind(this),
        "onPostLoad": function(){
        },
        "onQueryLoad": function(){
            
            this.form.get("XYBLC").reload();
            this.form.get("txt_title").setData(this.GET_Title(data));

            
        }.bind(this),
        "buttonList": [
        {
            "text": "提交",
            "action": function(){
                
                if (this.form.get("XYBLC").getData() == ""){
                    alert("还未选择下一步流程");
                    return;
                }

                if (this.form.get("XYBLC").getData().includes("退回") == true && this.form.get("SPYJ").getData() == ""){
                    alert("退回流程必须填写退回原因");
                    return;
                }

                var title = this.form.get("txt_title").getData();
                _self.form.get("subject").setData(title);
                
                this.form.process({
                    "routeName": this.form.get("XYBLC").getData(),
                    "opinion": this.form.get("SPYJ").getData()
                });

            }.bind(this)
        },
        {
            "text": "关闭",
            "action": function(){
                this.form.dataGridDlg.close();
            }.bind(this)
        }]
    })
}

代码里面有两个reload,不是同时存在的。只是表达,我在这两个地方都试过用reload、resetOption。
结果就是文字变了,但是选项前面的圆点变成了">"



我也做了测试,就在表单上放一个elradio,如果通过脚本获取选项return ["a|a", "b|b"];
然后通过reload或者resetOption刷新一下控件。
都会变成">"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

3

主题

1687

回帖

1018

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1018
发表于 2024-3-7 13:31:23 | 显示全部楼层
您好,我这边反馈给研发看看
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread