ts 'props' is declared but its value is never read

使用了typescript 简称ts
声明的变量未使用 出现波浪线提示“‘props’ is declared but its value is never read”,是noUnusedParameters:true导致的
在这里插入图片描述
在这里插入图片描述
可以修改tsconfig.json文件的noUnusedParameters为false即可
noUnusedParameters:false

`props2.modelValue.includes is not a function` 这样的错误通常出现在 JavaScript 或 Vue.js 开发中。它表明你在尝试对 `modelValue` 调用 `.includes()` 方法时失败了,原因可能是 `modelValue` 并不是一个可以调用此方法的数据类型。 ### 原因分析 `.includes()` 是一个字符串、数组等特定数据类型的原生方法。如果报错说明当前绑定到 `modelValue` 的值并非预期的类型(如字符串或数组),而是一个其他无法支持该方法的对象或基本类型(比如数字、布尔值甚至 null/undefined)。 #### 解决方案步骤: 1. **检查传入的数据** 首先确认传递给组件或者函数内部使用的 `modelValue` 是否确实是你期望的类型 (例如字符串或是数组)。 2. **设置默认值** 如果存在未定义情况,可以在接收属性前为其设定安全的默认值,确保其为有效的数据结构再操作。 ```javascript const modelValue = Array.isArray(props2.modelValue) ? props2.modelValue : []; ``` 3. **验证数据类型后再处理** 使用 typeof 来判断变量的实际类型,并只在正确的条件下执行 .includes() 操作。 ```javascript if(Array.isArray(modelValue)){ console.log('包含指定元素:', modelValue.includes("someString")); }else{ console.error("模型值不是数组!"); } ``` 4. **调试日志辅助排查** 添加一些打印语句帮助定位实际接收到的内容是否匹配假设条件下的输入形式。 ```javascript console.warn("Props value:", props2); ``` ### 示例代码片段: ```vue <template> <div v-if="hasItem">Element exists!</div> <!-- 根据 hasItem 决定显示内容 --> </template> <script setup lang='ts'> import { computed, defineProps } from 'vue'; const props = defineProps({ modelValue:{ type:Array, default:()=>[] } }) // 计算属性检测是否存在某项 let hasItem = computed(() => { return props.modelValue && Array.isArray(props.modelValue) && props.modelValue.includes("目标文本"); }); </script> ``` 以上示例通过计算属性动态决定 DOM 渲染逻辑并防止直接访问非合适状态引发运行期异常。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值