查看: 346|回复: 4

表单的整体事件中如何对组件进行赋值?非组件事件

升级   12.4%

66

主题

118

回帖

562

积分

高级会员

Rank: 4

积分
562
发表于 2024-3-15 15:52:54 | 显示全部楼层 |阅读模式
本帖最后由 szhtest 于 2024-3-15 15:53 编辑

我想在表单的事件中就根据环节对组件进行赋值



[只读的控制代码无需理会,和讨论点无关,该脚本是可以正常执行的(能根据环节控制只读)]

我在if(环节=xxx)时,想对日期组件进行赋值(当前日期),所以在脚本代码里加了一句this.form.get("calendar_1").setData(new Date());   结果F12报错:

我尝试了其他的赋值语句似乎也不行,是我赋值代码写错了,还是表单的queryLoad、afterLoad事件是无法进行组件赋值的?
另外,也无法在组件事件内根据环节赋值,因为组件事件读取不到var activityName = this.workContext.getWork().activityName; // 当前流程环节名称

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   4%

0

主题

22

回帖

56

积分

注册会员

Rank: 2

积分
56
发表于 2024-3-18 10:01:58 | 显示全部楼层
不能用这个this.form.get("calendar_1").setData(new Date());   ,对只读组件赋值
回复

使用道具 举报

升级   12.4%

66

主题

118

回帖

562

积分

高级会员

Rank: 4

积分
562
发表于 2024-3-18 10:16:05 | 显示全部楼层
一碗稀范 发表于 2024-3-18 10:01
不能用这个this.form.get("calendar_1").setData(new Date());   ,对只读组件赋值

我这个环节中calendar_1是可填写的。
那整体表单事件如何对组件赋值呢?
主要是想根据环节对组件赋值,但组件事件里取不到var activityName = this.workContext.getWork().activityName; // 当前流程环节名称
回复

使用道具 举报

升级   4%

0

主题

22

回帖

56

积分

注册会员

Rank: 2

积分
56
发表于 2024-3-20 09:41:13 | 显示全部楼层
是不是因为你写在queryLoad里,执行时控件还没加载出来?
回复

使用道具 举报

升级   12.4%

66

主题

118

回帖

562

积分

高级会员

Rank: 4

积分
562
发表于 2024-3-20 10:09:16 | 显示全部楼层
一碗稀范 发表于 2024-3-20 09:41
是不是因为你写在queryLoad里,执行时控件还没加载出来?

解决了

var _this=this

function getnowdate(){
    // 获取当前日期和时间
    var now = new Date();
    // 年
    var year = now.getFullYear();
    // 月,获取的时候要注意月份是从0开始的,所以实际显示的时候要加1,并且使用两位数字
    var month = ('0' + (now.getMonth() + 1)).slice(-2);
    // 日
    var day = ('0' + now.getDate()).slice(-2);
    // 时
    var hours = ('0' + now.getHours()).slice(-2);
    // 分
    var minutes = ('0' + now.getMinutes()).slice(-2);
    // 秒
    var seconds = ('0' + now.getSeconds()).slice(-2);
    // 格式化日期和时间
    var formattedDate = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;

    return formattedDate
}

_this.data.calendar_1 = getnowdate()
表单事件要用this.data赋值

而且很奇怪,为什么你们直接取this.data是会报错的,必须
var _this=this      
_this.data.xx = 赋值
才可以,之前试了很多次this.data都不行才改用this.form.get
回复

使用道具 举报

发表回复

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

本版积分规则

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