字段启用禁用控制示例

字段交互状态管理概览

精确控制表单字段的可编辑状态,实现条件式表单交互逻辑

此示例演示如何使用kinlink API控制表单字段的启用和禁用状态。通过条件逻辑状态联动用户权限控制,实现灵活的表单交互体验和数据保护机制。

状态控制核心功能

  • 🔓 字段启用控制:动态启用特定字段供用户编辑
  • 🔒 字段禁用机制:保护关键字段免受意外修改
  • 🔄 状态联动:基于其他字段值控制字段可编辑性
  • 🎯 权限管理:根据用户角色控制字段访问权限
  • 📝 数据保护:防止敏感数据被误操作
  • 实时响应:即时响应用户操作调整字段状态

关键功能

  • 动态启用指定字段
  • 动态禁用指定字段
  • 批量控制多个字段的启用状态
  • 基于条件的字段状态管理

代码示例

/**
* 示例4: 字段启用禁用控制
* 功能:动态控制表单字段的启用和禁用状态
*/
(function () {
kinlink.events.on(kinlink.FormEvents.FORM_LOADED, () => {
  try {
    // 禁用指定字段
    kinlink.formApi.disableField('单行文本框_10');
    kinlink.formApi.disableField('日期_2');

    // 启用指定字段(如果之前被禁用)
    kinlink.formApi.enableField('文字列__1行__0');
    kinlink.formApi.enableField('文字列__1行__1');

    // 批量禁用多个字段
    const fieldsToDisable = ['单行文本框_8', '单行文本框_9'];
    fieldsToDisable.forEach((fieldCode) => {
      kinlink.formApi.disableField(fieldCode);
    });

    // 创建切换按钮来演示动态控制
    const toggleButton = document.createElement('button');
    toggleButton.textContent = '切换字段状态';
    toggleButton.style.margin = '10px 0';
    toggleButton.style.padding = '8px 16px';
    toggleButton.style.backgroundColor = '#e74c3c';
    toggleButton.style.color = 'white';
    toggleButton.style.border = 'none';
    toggleButton.style.borderRadius = '4px';
    toggleButton.style.cursor = 'pointer';

    let isDisabled = true;
    toggleButton.addEventListener('click', () => {
      if (isDisabled) {
        kinlink.formApi.enableField('单行文本框_10');
        kinlink.formApi.enableField('日期_2');
        toggleButton.textContent = '禁用字段';
        toggleButton.style.backgroundColor = '#e74c3c';
      } else {
        kinlink.formApi.disableField('单行文本框_10');
        kinlink.formApi.disableField('日期_2');
        toggleButton.textContent = '启用字段';
        toggleButton.style.backgroundColor = '#27ae60';
      }
      isDisabled = !isDisabled;
    });

    // 添加按钮到表单
    const formElement = document.querySelector('.ant-form') || document.body;
    formElement.insertBefore(toggleButton, formElement.firstChild);
  } catch (error) {
    console.error('控制字段启用禁用失败:', error);
  }
});
})();

使用说明

要使用此功能,只需将代码复制到您的kinlink自定义JavaScript中。根据您的表单字段,修改代码中的字段代码。您可以根据业务逻辑和权限要求控制字段的启用和禁用状态。

完整代码请下载查看:

4-字段启用禁用控制.js

注意事项

禁用的字段仍会保留其值并参与表单提交。如果需要阻止某些值的提交,请结合字段验证或提交前数据处理。

API参考

此示例使用了以下kinlink API:
  • kinlink.events.on(eventName, callback) - 注册事件监听器

  • kinlink.FormEvents.FORM_LOADED - 表单加载完成事件

  • kinlink.formApi.enableField(fieldCode) - 启用指定字段

  • kinlink.formApi.disableField(fieldCode) - 禁用指定字段