hookehuyr

fix: 优化规则检查中字段初始化的逻辑

只重置在规则中出现过的字段的disabled状态,避免不必要的初始化操作
<!--
* @Date: 2022-07-18 10:22:22
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-07-03 11:08:36
* @LastEditTime: 2025-07-03 17:44:43
* @FilePath: /data-table/src/views/index.vue
* @Description: 首页
-->
......@@ -712,11 +712,21 @@ const mergeAndDeduplicate = (data) => {
const checkRules = () => {
const rule_list = formInfo.value['rule_list'] ? [...formInfo.value['rule_list']] : [];
// 初始化所有字段的规则
// 收集所有规则中涉及的字段
const fieldsInRules = new Set();
rule_list.forEach(rule => {
if (rule.field_names && Array.isArray(rule.field_names)) {
rule.field_names.forEach(fieldName => {
fieldsInRules.add(fieldName);
});
}
});
// 初始化字段规则,只重置在规则中出现过的字段
formData.value.forEach(item => {
item.x_rules = [];
// 重置disabled状态,避免上次规则影响
if (item.component_props) {
// 只重置在规则中出现过的字段的disabled状态
if (fieldsInRules.has(item.key) && item.component_props) {
item.component_props.disabled = false;
}
});
......