1.在data中定义一个属性that,把this存储到that中
data() {
return {
//过滤器拿到this对象
that: this,
}
}
2.在调用filters中的方法sum的时候将that传进去即可
<el-table-column label="原属产品" align="center" prop="originProjectId" ><!--:formatter="projectFormatter"--> <template slot-scope="scope"> <el-popover trigger="hover" placement="top"> <p>产品ID: {{ scope.row.projectId }}</p> <p>产品名: {{scope.row.originProjectId | projectIdFilter(that)}}</p> <div slot="reference" class="name-wrapper"> <el-tag size="medium">{{scope.row.originProjectId | projectIdFilter(that)}}</el-tag><!--projectIdFilter默认传入前面的scope.row.originProjectId 作为第一个参数,想要第二个参数可以直接通过参数传入 --> </div> </el-popover> </template> </el-table-column>
3.使用的时候再接收参数
filters: {
projectIdFilter(projectId,that) {
if (projectId==null||projectId==-1)return '无'
return that.options.find(item => {
return item.id === projectId
})?.name
}
}
浙公网安备 33010602011771号