TS1005: ‘,‘ expected.

bash 复制代码
[0]  ERROR  Failed to compile with 3 errors15:04:40
[0] 
[0]  error  in /Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/invite-code-list.vue.ts
[0] 
[0] [tsl] ERROR in /Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/invite-code-list.vue.ts(139,13)
[0]       TS1005: ',' expected.
[0] 
[0]  @ ./src/views/tools/fake-strategy/components/invite-code-list.vue?vue&type=script&lang=ts& 1:0-379 1:395-398 1:400-776 1:400-776
[0]  @ ./src/views/tools/fake-strategy/components/invite-code-list.vue
[0]  @ ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/tools/fake-strategy/components/config-form2.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/components/config-form2.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/components/config-form2.vue
[0]  @ ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/tools/fake-strategy/index.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/index.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/index.vue
[0]  @ ./src/router/index.ts
[0]  @ ./src/main.ts
[0]  @ multi (webpack)-dev-server/client?http://192.168.1.105:9527&sockPath=/sockjs-node (webpack)/hot/dev-server.js ./src/main.ts
[0] 
[0]  error  in /Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/invite-code-list.vue.ts
[0] 
[0] [tsl] ERROR in /Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/invite-code-list.vue.ts(146,13)
[0]       TS1005: ',' expected.
[0] 
[0]  @ ./src/views/tools/fake-strategy/components/invite-code-list.vue?vue&type=script&lang=ts& 1:0-379 1:395-398 1:400-776 1:400-776
[0]  @ ./src/views/tools/fake-strategy/components/invite-code-list.vue
[0]  @ ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/tools/fake-strategy/components/config-form2.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/components/config-form2.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/components/config-form2.vue
[0]  @ ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/tools/fake-strategy/index.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/index.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/index.vue
[0]  @ ./src/router/index.ts
[0]  @ ./src/main.ts
[0]  @ multi (webpack)-dev-server/client?http://192.168.1.105:9527&sockPath=/sockjs-node (webpack)/hot/dev-server.js ./src/main.ts
[0] 
[0]  error  in /Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/invite-code-list.vue.ts
[0] 
[0] [tsl] ERROR in /Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/invite-code-list.vue.ts(179,17)
[0]       TS1005: ',' expected.
[0] 
[0]  @ ./src/views/tools/fake-strategy/components/invite-code-list.vue?vue&type=script&lang=ts& 1:0-379 1:395-398 1:400-776 1:400-776
[0]  @ ./src/views/tools/fake-strategy/components/invite-code-list.vue
[0]  @ ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/tools/fake-strategy/components/config-form2.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/components/config-form2.vue?vue&type=script&lang=ts&
[0]  @ ./src/views/tools/fake-strategy/components/config-form2.vue
[0]  @ ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/tools/fake-strategy/index.vue?vue&type=script&lang=ts&
Webpack: Starting ...

1、源代码

ts 复制代码
  private async handleLock(row: any) {
    const newIsLocked = row.isLocked === 0 ? 1 : 0
    const newStatus = newIsLocked === 0
      ? InviteCodeStatus.EFFECTIVE.name
      : InviteCodeStatus.LOCKED.name

    this.$confirm(
      `确定要${row.isLocked === 0 ? '锁定' : '解锁'}该邀请码吗?`,
      '提示',
      {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }
    )
      .then(async() => {
        try {
          console.log('请求参数:', {
            inviteCodeId: row.id,
            statusName: newStatus
            isLocked: newIsLocked, // 添加 isLocked 参数
          })

          // 调用后端的更新状态接口
          const response = await updateInviteCodeStatus({
            inviteCodeId: row.id,
            statusName: newStatus
            isLocked: newIsLocked, // 添加 isLocked 参数
          })

          console.log('response.data:', response.data)
          console.log('typeof response.data', typeof response.data)

          if (response && response.data && typeof response.data === 'object' && 'status' in response.data) {

            const status = response.data.status
            const isLocked = response.data.isLocked

            // 调试步骤 1:打印状态值
            console.log('状态值:', status)
            console.log('后端返回的isLocked值:',isLocked)

            // 调试步骤 2:检查状态映射
            let statusObj
            try {
              statusObj = InviteCodeStatus.fromValue(status)
              console.log('映射后的状态:', statusObj)
            } catch (e) {
              console.error('状态映射错误:', e)
              this.$message.error('状态映射错误,请联系管理员')
              return
            }

            // 更新本地数据
            const index = this.tableData.findIndex(item => item.id === row.id)
            if (index !== -1) {
              this.$set(this.tableData, index, {
                ...this.tableData[index],
                // isLocked: newIsLocked,
                status: status // 使用后端返回的 status 值
                isLocked: isLocked, // 使用后端返回的isLocked
              })
              console.log('更新后的行数据:', this.tableData[index])
            }

            this.$message.success(`${newIsLocked === 0 ? '解锁' : '锁定'}成功`)

            // 选择性地重新拉取数据,根据实际需求
            // await this.fetchInviteCodeList();
          } else {
            this.$message.error('更新失败')
          }
        } catch (error) {
          console.error('更新邀请码状态失败:', error)
          console.error('错误详情:', error.response || error.message)
          this.$message.error('更新邀请码状态失败:未知错误')
        }
      })
      .catch(() => { })
  }

2、修改后的代码

ts 复制代码
          console.log('请求参数:', {
            inviteCodeId: row.id,
            statusName: newStatus,
            isLocked: newIsLocked, // 添加 isLocked 参数
          })
ts 复制代码
          // 调用后端的更新状态接口
          const response = await updateInviteCodeStatus({
            inviteCodeId: row.id,
            statusName: newStatus,
            isLocked: newIsLocked, // 添加 isLocked 参数
          })

缺失了逗号,导致 isLocked: newIsLocked 被认为是 statusName 的值,进而产生语法错误。

ts 复制代码
              this.$set(this.tableData, index, {
                ...this.tableData[index],
                // isLocked: newIsLocked,
                status: status, // 使用后端返回的 status 值
                isLocked: isLocked, // 使用后端返回的isLocked
              })

在对象字面量中漏写了逗号


相关推荐
掘金安东尼7 小时前
让 JavaScript 更容易「善后」的新能力
前端·javascript·面试
掘金安东尼7 小时前
用 HTMX 为 React Data Grid 加速实时更新
前端·javascript·面试
灵感__idea9 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
yinuo9 小时前
轻松接入大语言模型API -04
前端
袋鼠云数栈UED团队10 小时前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher10 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati10 小时前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao10 小时前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
亦妤11 小时前
JS执行机制、作用域及作用域链
javascript
兆子龙11 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构