wszyyo 2022-06-07 22:25 采纳率: 30%
浏览 213
已结题

vue+ts中类型推导问题

问题遇到的现象和发生背景

在vue3中封装table组件时,加入动态插槽,然后一旦设置插槽的name属性时,item数据类型会被重新推导

问题相关代码,请勿粘贴截图
//本来这个item的类型为ITableConfig类型

  <template v-for="item in tableConfig" :key="item.prop">
        <el-table-column
          :prop="item.prop"
          :label="item.label"
          :min-width="item.width"
          :show-overflow-tooltip="true"
          align="center"
        >
          <template #default="scope">
             //一旦插槽这里的name中使用item item会被推导为any
            <slot :row="scope.row" :name="item.slotName"></slot>
          </template>
        </el-table-column>
      </template>

运行结果及报错内容

“item”隐式具有类型 "any",因为它不具有类型批注,且在其自身的初始化表达式中得到直接或间接引用

我的解答思路和尝试过的方法

一开始我被这里卡的烦,直接通过ts配置消除了这个错误,但是终究不是根本解决

我想要达到的结果
  • 写回答

4条回答 默认 最新

  • 王鹏飞的解忧屋 2022-06-07 22:39
    关注

    他只是any不报错,UI组件有时候会有Bug,你可以GitHub给他们提一下

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月14日
  • 创建了问题 6月7日