以下代码片段演示了如何根据不同的 key 值动态生成 URL 参数,并使用 uni.navigateTo 进行页面跳转:

const params = {
  'customerVisitNum': { 'followupType': 3 },
  'technicalExchangeNum': { 'followupType': 1 },
  'liveDemonstrationNum': { 'followupType': 2 },
  'workPlanDay': { 'activeTabKey' },
  'workPlanWeekly': { 'activeTabKey' },
  'curCustomerNum': { 'employeeViewMy' },
  'currentCustomerLink': { 'timeType', 'employeeViewMy' },
};

const param = params[key];
if (param) {
  const urlParams = Object.entries(param).map(([key, value]) => `${key}=${value}`).join('&');
  url && uni.navigateTo({ url: `${url}?${urlParams}` });
}

优化后的代码逻辑:

  1. 使用 params 对象存储不同 key 对应的参数配置。
  2. 通过 params[key] 获取对应 key 的参数配置。
  3. 使用 Object.entries 方法遍历参数配置对象,并使用 map 方法生成键值对数组。
  4. 使用 join 方法将键值对数组拼接成 URL 参数字符串。
  5. 使用 uni.navigateTo 方法进行页面跳转,并将生成的 URL 参数字符串添加到 URL 中。

优点:

  • 简化代码逻辑,提高代码可读性和可维护性。
  • 避免重复代码,提高代码效率。
  • 方便修改参数配置,无需修改代码逻辑。

其他建议:

  • 可以将 params 对象定义为全局变量,方便在其他地方访问。
  • 可以根据实际情况添加其他参数配置。

注意:

  • 确保 url 变量已经定义。
  • 确保 uni.navigateTo 方法已经引入。
  • 使用 encodeURIComponent 方法对 URL 参数进行编码,防止出现特殊字符导致的错误。

原文地址: https://www.cveoy.top/t/topic/mhzK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录