北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

钉钉宜搭中通过“数值”字段值的大小控制其他字段的显隐

作为一种低代码应用,在众多应用钉钉的企业和组织中并不陌生。宜搭工具的使用可以极大的方便日常办公,在以往的应用中,通过对宜搭的使用,基本可以作为“问卷”类应用、“OA"类应用、还可以作为 “考试” 类应用来使用,当然其具体的应用可以说多种多样。对于一个稍有一点想法的业务人员来说,可以说是一种多边形助手。

简单分享一个近期遇到的小问题,解决过程中的小技巧,当然很多人可能用不到这种场景,或者说不用宜搭来解决此类问题。仅作分享,高手勿喷。

业务场景

此次的业务场景主要是将宜搭作为“问卷类”工具使用,也就是新建了一个满意度评分表,一群人用来给另外一群人打分。

过程介绍

宜搭中新建“流程”表,当然此处可以使用普通表来实现,主要是这种业务场景下,评分主要就是一个人打分,然后后台记录数据,基本仅此而已。但此处通过流程表来实现,主要是流程表可以实现普通表的功能(如果不需要使用流程的话,完全可以设置流程自动通过),然后也可以后期增加流程的设置。(底层牛马应该都懂得,你永远不知道上头会冒出什么样的“奇思妙想”来,使用流程表也算是给自己留条后路吧)

好了,废话多了……实现方案就是,通过“数值”类型的字段来进行打分,因为需求就是要具体的打分0-100这种实打实的具体数字,不是“分数段”、也不是“小星星”、更不能是“下拉菜单”等等。然后在某项打分的分数低于“70”分的时候,需要多显示一个“文本框”来说如具体的说明事项,即有什么事情是不满意的。

简单一个示意图,大家凑合着看。当然此处我还设置了当打分高于100的时候,也要做出说明。其实如果大家做过宜搭的开发应该会懂的,这个需求通过“数值”字段的属性设置是无法实现的。

宜搭现有的字段分类中,像下拉单选这种,有“关联选项设置”这种属性,可以很方便的实现对其他字段的显隐性控制。

实现方法

基于数值字段的显隐性控制,就只能通过JS代码来实现。即通过一个函数来控制字段的显隐性,在查询宜搭的JS API后,可以发现有一个API可以利用:

this.$(fieldId).setBehavior()
设置指定表单组件的状态,可以设置的表单组件的状态有以下可选值:

NORMAL - 正常态,即输入态;
READONLY - 只读态;
DISABLED - 禁用态;
HIDDEN - 隐藏态;

因此函数的设计只需要满足:初始 HIDDEN - 隐藏态;然后在符合条件的情况下变成:NORMAL - 正常态,即输入态;

参考代码如下:

 // 在 默认的函数 didMount() 中设置组件为隐藏状态;

然后设置自定义函数:
export function getBehavior(data) {

      // 获取输入框组件的状态,并将其打印出来
      const behavior_01 = this.$('textareaField_xxx').getBehavior();
      console.log(`text behavior: ${behavior_01}`);
      // 获取打分01
      const value_01 = this.$('numberField_mcl8td1l').getValue();
      console.log(`担责意识评分: ${value_01}`);

      if (isNaN(value_01)) {
        console.warn("请输入有效的数值");
        return;
      }

      if (value_01 < 60) {
        // 满足条件下,设为正常可输入的状态
        this.$('textareaField_xxx').setBehavior('NORMAL');
      } else if (value_01 >= 60 && value_01 < 80) {
        // 此处可以设置不同条件下的动作
        this.$('textareaField_xxx').setBehavior('DISABLED');
      } else {
        // 分数大于等于80,不执行任何操作
        console.log("分数大于等于80,无需处理");
        this.$('textareaField_xxx').setBehavior('HIDDEN');
      }

}

一个简单的小技巧,仅供参考。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言