if (queryText === '') { mini.showTips({ content: '请填写查询方法', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (resourceData.length === 0) { mini.showTips({ content: '请选择数据资源表数据', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (!relateWhole) { mini.showTips({ content: '请检查关联查询字段行完整性', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (!screenWhole) { mini.showTips({ content: '请检查筛选条件行完整性', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (revealHasValue === 0) { mini.showTips({ content: '展示字段必填', state: 'danger', showIcon: false, timeout: 1000 }); return false; }优化下
时间: 2024-01-11 16:02:18 浏览: 71
可以将重复的代码段抽象成一个函数,提高代码的可读性和可维护性,例如:
```
function checkValidity(message, type) {
if (type.length === 0) {
mini.showTips({
content: message,
state: 'danger',
showIcon: false,
timeout: 1000
});
return false;
}
return true;
}
```
然后在原来的代码中调用该函数,例如:
```
if (!checkValidity('请填写查询方法', queryText)) {
return false;
}
if (!checkValidity('请选择数据资源表数据', resourceData)) {
return false;
}
if (!checkValidity('请检查关联查询字段行完整性', relateWhole)) {
return false;
}
if (!checkValidity('请检查筛选条件行完整性', screenWhole)) {
return false;
}
if (!checkValidity('展示字段必填', revealHasValue)) {
return false;
}
```
这样修改后,代码变得更加简洁和易于维护。
相关问题
优化这段代码function checkValidity(message) { mini.showTips({ content: message, state: 'danger', showIcon: false, timeout: 1000 }); } if (queryText === '') { checkValidity('请填写查询方法'); return false; } if (resourceData.length === 0) { checkValidity('请选择数据资源表数据'); return false; } if (!relateWhole) { checkValidity('请检查关联查询字段行完整性'); return false; } if (!screenWhole) { checkValidity('请检查筛选条件行完整性'); return false; } if (revealHasValue === 0) { checkValidity('展示字段必填'); return false; }
可以考虑使用一个数组来存储所有需要校验的条件及其对应的错误信息,然后使用循环遍历数组进行校验,并统一调用 `checkValidity` 函数输出错误信息。
具体实现如下:
```javascript
const validations = [
{ condition: queryText === '', message: '请填写查询方法' },
{ condition: resourceData.length === 0, message: '请选择数据资源表数据' },
{ condition: !relateWhole, message: '请检查关联查询字段行完整性' },
{ condition: !screenWhole, message: '请检查筛选条件行完整性' },
{ condition: revealHasValue === 0, message: '展示字段必填' }
];
for (let i = 0; i < validations.length; i++) {
if (validations[i].condition) {
checkValidity(validations[i].message);
return false;
}
}
```
这样可以将校验逻辑简化并提高代码的可维护性。同时,如果后续需要增加或修改校验条件,只需修改 `validations` 数组即可。
if (!string.IsNullOrEmpty(txtpickupCode.Text)) { if (jhDomain == null) { if (_mxDomain?.mxid == mxDomain?.mxid) { "当前已选择相同提货单明细!".showTips(); } } else { if (_jhDomain?.jhid == jhDomain?.jhid) { "当前已选择相同提货单明细!".showTips(); } } return; }优化这段代码
可以优化为以下代码:
if (string.IsNullOrEmpty(txtpickupCode.Text))
{
return;
}
if ((jhDomain == null && _mxDomain?.mxid == mxDomain?.mxid) ||
(jhDomain != null && _jhDomain?.jhid == jhDomain?.jhid))
{
"当前已选择相同提货单明细!".showTips();
return;
}
这样可以减少嵌套,增加可读性,并且代码逻辑更加清晰。
阅读全文