javascript - Vue js:如何清除应用的过滤器?
问题描述
我在Vue Js下面有这段代码,我已经对API数组元素实现了过滤器并且工作正常,现在我正在尝试设置一个按钮,当我点击它时清除过滤器并返回页面,因为除了我的代码没有任何变化下面没有工作它显示空数组问题,请帮助?并提前感谢
<template>
<div class="container" width=800px>
<b-row>
<b-col cols="8">
<h1> Recently Asked </h1>
<ul class="container-question" v-for="(question1,index) in questions" :key="index"
>
<li>
{{question1.question}}
</li></ul>
</b-col>
<b-button class="outline-primaryy" style="margin:auto;" @click="ClearFilter" :disabled="selectedIndex === index ">Clear Filter</b-button>
</div>
<router-view />
</div>
</template>
<script>
export default {
data(){
return{
questions: [],
answered: null,
index: 0,
selectedIndex: null,
}
},
methods: {
selectedAnswer(index) {
this.selectedIndex = index;
this.questions=this.questions.filter((question) => question.incorrect_answers.includes(index))
console.log(index)
},
ClearFilter(){
this.questions = []
},
watch: {
question1: {
handler() {
this.selectedIndex = null;
this.answered = false;
},
},
},
},
mounted: function(){
fetch('https://opentdb.com/api.php?amount=10&category=9&difficulty=medium&type=multiple',{
method: 'get'
})
.then((response) => {
return response.json()
})
.then((jsonData) => {
this.questions = jsonData.results
})
},
}
</script>
解决方案
我不确定你的问题是否正确。但这可能会有所帮助:
.then((jsonData) => {
this.questions = jsonData.results;
this.unmutated = jsonData.results;
})
当您单击重置按钮时
this.questions = this.unmutated
推荐阅读
- python-2.7 - PyCharm:FooTestCase 不是测试,但 FooTest 是
- flutter - 如何相对设置图像位置
- javascript - 在 webpack 中使用 raw bundler 插件缩小
- c# - SignalR 服务器/客户端调用在同一页面
- excel - Excel 在文件打开时更新外部链接时挂起/崩溃
- django - 什么是 django 下拉类型?
- java - 无法使用 Java 代码从我的 Android Studio 项目中的 000webhost 获取文本数据
- python - 如何修复 Python Gekko Max Equation Length 错误
- git - 用于提取给定年份报告文件(Excel 或 PDF)中源代码文件的每次提交之间的提交比较的 Git 代码
- three.js - 在threejs中使用顶点着色器旋转几何体