VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法_前端表格第一行设置为自动过滤行(1)
2401_84434442 2024-07-24 12:03:01 阅读 89
:key=“listindex”
:prop=“list.prop”
:label=“list.label”
:type=“list.type”
:sortable=“list.sortable”
:width=“list.width”
:formatter=“list.formatter”
<code>
**定义data数据:**
data() {
return {
detailrowtabledataslist: [
{
prop: ‘orderNumber’,
label: ‘订单编号’,
sortable: true,
width: ‘120px’,
keynum: 1,
search: ‘’
},
{
prop: ‘selfNo’,
label: ‘自编号’,
width: ‘120px’,
keynum: 1,
search: ‘’
},
{
prop: ‘projectName’,
label: ‘项目名称’,
keynum: 1,
search: ‘’,
width: ‘120px’
}
]
}
}
**计算属性中对data进行过滤:**
computed: {
showDetailrowtableDatas() { //重点!!!
const detailSearchParams = this.detailSearchParams
console.log(detailSearchParams)
let arr = JSON.parse(JSON.stringify(this.detailrowtableDatas))
Object.keys(detailSearchParams || {}).forEach(key => {
arr = arr.filter(el => (el[key] + ‘’).includes(detailSearchParams[key]))
})
console.log(arr)
return arr
},
detailSearchParams: {
get() {
return {
orderNumber: this.getSearchSelectValue(‘orderNumber’),
selfNo: this.getSearchSelectValue(‘selfNo’),
projectName: this.getSearchSelectValue(‘projectName’),
productName: this.getSearchSelectValue(‘productName’),
width: this.getSearchSelectValue(‘width’),
height: this.getSearchSelectValue(‘height’),
floorNumber: this.getSearchSelectValue(‘floorNumber’)
}
},
set(newValue) {
this.tabledataslist = this.detailrowtabledataslist.map(el => {
const propsKey = el.prop
return {
…el,
search: newValue[propsKey] || ‘’
}
打开全栈工匠技能包-1小时轻松掌握SSR
两小时精通jq+bs插件开发
生产环境下如歌部署Node.js
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
网易内部VUE自定义插件库NPM集成
谁说前端不用懂安全,XSS跨站脚本的危害
webpack的loader到底是什么样的?两小时带你写一个自己loader
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。