qhdfzc 发表于 2023-8-7 15:03:27

表单的控制实现控件的只读



如下图,当付款类别是全额付款的时候,其中-定金不可以输入。当付款类别是 分期付款的时候,其中-定金必须输入数字。

论坛管理员 发表于 2023-8-7 15:56:47

this.form.get("定金字段标识").node.readonly=true或者false

qhdfzc 发表于 2023-8-7 16:07:26

论坛管理员 发表于 2023-8-7 15:56
this.form.get("定金字段标识").node.readonly=true或者false

按照您的方法,不生效。使用//的方法是生效的。_self.form.get("down_payment").node.style.display="block";
_self.form.get("down_payment").node.style.display="none";

var _self=this;
if(_self.data.paymentTpye=="分期付款"){
    //_self.form.get("down_payment").node.style.display="block";
    _self.form.get("down_payment").node.readonly=false;
}else{
   //_self.form.get("down_payment").node.style.display="none";
   _self.form.get("down_payment").node.readonly=true;
}

qhdfzc 发表于 2023-8-7 17:16:33




我在表单的Load事件里面做判断,在某个活动节点,控制表单上面的控件的是否可用。按照您的方法,没有达到预期效果。

论坛管理员 发表于 2023-8-8 09:36:26

this.form.get("subject").node.firstChild.readOnly=true;

qhdfzc 发表于 2023-8-8 10:43:29

论坛管理员 发表于 2023-8-8 09:36
this.form.get("subject").node.firstChild.readOnly=true;

OK了OK了OK了OK了OK了

qhdfzc 发表于 2023-8-8 14:48:48

论坛管理员 发表于 2023-8-8 09:36
this.form.get("subject").node.firstChild.readOnly=true;

这个对文本输入框有效,针对单选radio或者其他的不行。

论坛管理员 发表于 2023-8-8 16:08:34

单选radio需要设置disable属性,
下一版本会增加针对组件的reload方法,可以通过设置json里的isReadonly属性然后reload来实现只读,预计八月底发布

qhdfzc 发表于 2023-8-8 17:30:42

论坛管理员 发表于 2023-8-8 16:08
单选radio需要设置disable属性,
下一版本会增加针对组件的reload方法,可以通过设置json里的isReadonly属 ...

_self.form.get("djrzw").node.firstChild.disabled=true;也不行。

论坛管理员 发表于 2023-8-9 13:23:05

this.form.get("radio").node.querySelectorAll("input")获取到单选框,多个选项所以是个数组,循环设置disable=true
disabled=true
页: [1] 2
查看完整版本: 表单的控制实现控件的只读