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
              })

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


相关推荐
用户6737528018843 分钟前
鸿蒙开发:应用内如何做更新
前端
zxhnext24 分钟前
LLM大语言模型入门
前端·后端
知心宝贝31 分钟前
写了那么久的前端,你真的了解浏览器背后的“小动作“吗?
前端·程序员·浏览器
wycode31 分钟前
Vue2实践(2)之用component做一个动态表单(一)
前端·javascript·vue.js
维李设论32 分钟前
前端智能化 | AG-UI实践及原理浅析
前端·aigc·agent
第七种黄昏33 分钟前
Vue3 中的 ref、模板引用和 defineExpose 详解
前端·javascript·vue.js
一只卡比兽33 分钟前
动态规划与贪心算法详解:原理、对比与代码实践
前端
aiwery37 分钟前
一文掌握 TypeScript 工具类型:Record、Partial、Omit、Pick 等实战用法
前端·代码规范
ankleless1 小时前
C语言(12)——进阶函数
前端·html
一条上岸小咸鱼1 小时前
Kotlin 基本数据类型(四):String
android·前端·kotlin