开发者社区> 问答> 正文

宜搭的组件的默认值设置为数据联动后是否可以实现我不需要它联动的时候它就不联动

已解决

比方说我有A、B两个输入框,B输入框的默认值设置为了数据联动,会根据A输入框输入的数据联动出对应的数据,那此时我再在表单里加一个控制是否启用联动的单选组件C,能不能实现如果我在C组件中选择否,那么B输入框就不会根据A输入框的数据进行数据联动,我在C组件中选择是,B输入框就又可以根据A输入框的数据进行数据联动了

展开
收起
游客kwinism27dh5i 2023-07-21 11:58:00 251 0
8 条回答
写回答
取消 提交回答
  • 采纳回答

    好了好了,我自己试出来了,可以在表单里放两个B输入框,一个默认值是数据联动(就叫B1吧),一个默认值是自定义(B2),根据C组件的值来决定显示B1还是B2,然后如果需要取B输入框的值,那也可以根据C组件的值来判断到底是取B1还是B2,如果取数据时时需要取自己填的B的值,那C组件的值也必然会是否,然后设置如果C组件的值为否,就取B2的值,这样就能精准取到所需要的B输入框的值了

    2023-07-21 15:47:39
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    可以通过添加表单脚本来实现您的需求。具体步骤如下:

    在表单中添加一个单选组件C,并在其选项中添加“是”和“否”两个选项。

    在B输入框的数据联动设置中,设置一个默认值为0的变量X,用于存储C组件的值。

    在C组件的事件脚本中,编写代码实现根据C组件的值更新变量X的值。具体来说,可以使用以下代码:

    less
    Copy
    // 获取C组件的值
    var cValue = fd.getField("C").getValue();
    // 更新变量X的值
    if (cValue == "是") {
    fd.control("X").setValue(1);
    } else {
    fd.control("X").setValue(0);
    }
    ```

    在B输入框的数据联动设置中,设置一个条件判断语句,判断变量X的值是否为1。如果为1,则执行数据联动操作,否则不执行。具体来说,可以使用以下代码:

    Copy
    // 获取变量X的值
    var xValue = fd.control("X").getValue();
    // 判断变量X的值是否为1
    if (xValue == 1) {
    // 执行数据联动操作
    // ...
    }

    2023-07-28 08:06:32
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    可以考虑使用宜搭的自定义脚本功能来实现该业务。具体步骤如下:

    在宜搭中创建一个自定义脚本,用于控制是否启用数据联动。
    在脚本中编写代码,读取C组件中的选择结果,并根据选择结果控制B输入框是否启用数据联动。
    将处理得到的结果赋值到表单中的字段中。

    2023-07-24 11:16:50
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    是的,您可以通过使用宜搭表单的脚本功能来实现这种动态控制数据联动的功能。以下是大致的实现步骤:

    1. 在表单中添加一个单选组件C,用于控制是否启用数据联动。将该组件的默认值设置为“是”。

    2. 在B输入框的数据联动设置中,添加一个条件判断。该条件判断应该检查单选组件C的值是否为“是”,如果是,则执行数据联动操作;否则,不执行数据联动操作。

    3. 在单选组件C的事件中添加一个脚本,用于更新B输入框的数据联动设置。该脚本应该完成以下任务:

    • 获取单选组件C的值。
    • 根据该值更新B输入框的数据联动设置。如果值为“是”,则启用数据联动;否则,禁用数据联动。
    1. 测试表单,并验证是否可以根据单选组件C的值动态控制B输入框的数据联动行为。
    2023-07-21 18:25:19
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    数据联动的功能当表单中某个字段的数据改变时,该表单中另一个字段的数据也会随之改变,一般用于设置组件的默认值。

    数据联动的配置项里选择数据关联表应当选择与当前表单同属一个应用的其他表单,不能本表单数据联动本表单; 跨应用:可选取创建的跨应用数据集表单,详情可参考文档跨应用获取表单数据。

    关联字段设置:当前表单字段 「产品名称」的值等于被关联表的字段 「产品名称」的值时,当前表单字段「数量」的值显示为被关联表字段 「库存数量」的值。

    至于你说的这个功能需要你自己去开发,宜搭的功能是无限的,前提条件是你要具备开发能力。

    2023-07-21 15:43:18
    赞同 1 展开评论 打赏
  • 是的,你可以通过在C组件中添加一个控制联动的状态来实现这个需求。当C组件中选择"否"时,你可以将B输入框的联动状态设置为false,这样就可以阻止B输入框根据A输入框的数据进行联动。当C组件中选择"是"时,你可以将B输入框的联动状态设置为true,这样就可以恢复B输入框根据A输入框的数据进行联动。

    2023-07-21 15:14:52
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

    是的,您可以通过在表单中添加一个单选组件C来实现这个功能。

    具体来说,您可以在A、B两个输入框之间添加一个单选组件C,并将其默认值设置为“启用联动”。然后,在C组件中添加两个选项:“是”和“否”。当用户选择“是”时,B输入框将根据A输入框的数据进行数据联动;当用户选择“否”时,B输入框将不再根据A输入框的数据进行数据联动。

    以下是一个简单的示例代码:

    <form>
      <label for="inputA">A输入框:</label>
      <input type="text" id="inputA" name="inputA"><br><br>
      <label for="inputB">B输入框:</label>
      <input type="text" id="inputB" name="inputB"><br><br>
      <label for="controlC">是否启用联动:</label>
      <input type="radio" id="controlC_yes" name="controlC" value="yes" checked>
      <label for="controlC_yes"></label>
      <input type="radio" id="controlC_no" name="controlC" value="no">
      <label for="controlC_no"></label><br><br>
    </form>
    

    在这个示例中,我们使用了HTML5中的<input type="radio">元素来创建单选按钮。通过设置name属性为相同的名称(例如“controlC”),我们可以确保只有一个单选按钮被选中。同时,我们使用checked属性将默认选项设置为“是”,以便用户第一次打开表单时会看到“是”选项。

    2023-07-21 15:14:40
    赞同 展开评论 打赏
  • 在宜搭中,可以使用条件控制和数据联动来实现您描述的需求。

    您可以按照以下步骤进行设置:

    1. 创建表单和组件:首先,在宜搭中创建表单,并添加需要的输入框 A、B,以及单选组件 C。

    2. 设置数据联动:在 B 输入框的默认值设置中,使用数据联动功能根据 A 输入框的数据进行联动。这样 B 输入框的默认值将根据 A 输入框的数据自动更新。

    3. 设置条件控制:在 B 输入框的属性设置中,使用条件控制功能。设置一个条件,该条件基于 C 组件的选择结果。如果 C 组件选择了 "否",则禁用 B 输入框的数据联动;如果 C 组件选择了 "是",则启用 B 输入框的数据联动。

    通过以上设置,当 C 组件选择了 "否" 时,B 输入框将不会根据 A 输入框的数据进行数据联动。而当 C 组件选择了 "是" 时,B 输入框将重新根据 A 输入框的数据进行数据联动。

    2023-07-21 12:54:20
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
宜搭 - 企业智能化应用搭建平台 立即下载
《云市场-宜搭解决方案》 立即下载
《宜搭开发手册》 立即下载