wszyyo
2022-06-07 22:25
采纳率: 20%
浏览 94

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条回答 默认 最新

相关推荐 更多相似问题