<template> <div> <input type="text" v-model="searchId" placeholder="请输入sample_id"> <button @click="search">搜索</button> <el-table ref="multipleTable" :data="filteredData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="sample_id" label="sample_id" width="120"> <template slot-scope="scope">{{ scope.row.sample_id }}</template> </el-table-column> <el-table-column prop="feature0" label="feature0" width="120"></el-table-column> <el-table-column prop="feature1" label="feature1" width="120"></el-table-column> <el-table-column prop="feature2" label="feature2" width="120"></el-table-column> <el-table-column label="操作" fixed="right" width="135">computed: { filteredData() { if (this.searchId.trim() === '') { return this.tableData; } else { return this.tableData.filter(item => { return item.sample_id.includes(this.searchId); });,报"TypeError: item.sample_id.includes is not a function怎么解决
时间: 2023-10-08 14:14:38 浏览: 228
netsuite-saved-search:节点模块包装进行 restlet 调用以在 netsuite 中执行保存的搜索
这个错误是因为你尝试在一个非字符串类型的变量上使用`includes`方法,而`includes`方法只能用于字符串类型。要解决这个问题,你可以在使用`includes`方法之前,先将`item.sample_id`转换为字符串类型。你可以使用`toString()`方法或者`String()`函数来实现这个转换。
修改后的代码如下所示:
```javascript
computed: {
filteredData() {
if (this.searchId.trim() === '') {
return this.tableData;
} else {
return this.tableData.filter(item => {
return String(item.sample_id).includes(this.searchId);
});
}
}
}
```
通过将`item.sample_id`转换为字符串类型,你就可以在过滤器中正确地使用`includes`方法了。
阅读全文