同时筛选input两种方式(date,input)的值

Chienwei
  • 135

代码:

 computed: {
        selected () {
            if (!this.game_results.length) {
                return
            }
            const filterdResults = this.game_results // json格式
            return filterdResults.filter(filterResult => {
                let tag = ['actualDate','input'] //日期栏位,input栏位
                let flag = false
                tag.forEach(nowTag => {
                    if (filterResult[nowTag].indexOf(this.input.date && this.input.period) !== -1) { // 但一定要兩格輸入筐都有值才會發動...
                        flag = true
                    }
                })
                return flag
            })
        }
    },
<label><input type="date" name="date" v-model="input.date"></label>
<label><input type="text" name="search" v-model="input.period"></label>

状况: 有两个input栏位, 一个是input[date]一个是input[text], 我想要让两个值都可以做筛选, 意思是:

有date时也有text时会在符合那个date且符合那个text输入的值
但当其中一个符合时也可以做筛选, 也就是两个值都可以作为筛选的值

但我现在只写出這樣, 接下来完全没灵感...
想请问各位大神有没有办法解决?

回复
阅读 2.2k
2 个回答

不太理解你的意思、
判断data是否为空、然后匹配data和text、当匹配case成功....

是这个意思么?

selected () {
    if (!this.game_results.length) {
        return
    }

    return this.game_results.filter(filterResult => {
        return filterResult.actualDate.includes(this.input.data) || 
               filterResult.input.includes(this.input.period)
    })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏