javascript - Vue从选择框@changed后删除当前数据值

标签 javascript arrays vue.js

我有一个查询,它获取一条记录并将其显示到图表中。我已经可以显示记录,但是当我单击没有结果的记录,然后单击上一条有结果的记录时。 vue 中的 data 属性添加当前结果以追加前一个结果。我想要的是,当我从 select 标记中选择另一个选项时,当前数据将被删除,并将用新结果替换为当前结果。

这是我的图表 enter image description here

当我从选择框中单击Vince 时,我得到了准确的数据和图表。这是我的 Vue 开发工具详细信息

enter image description here

但是当我点击标记时,第二位老师没有数据或结果 enter image description here

我以前的数组中的数据仍然在那里,当我点击返回到其中有数据的 vince 时,结果就是结果

enter image description here

图表是这样的

enter image description here

我现在的代码不起作用

   getdata() {
                    let self = this
                    axios.get('/getGraph/' + self.teacher)
                        .then(({
                            data
                        }) => {
                            if(data.length > 0){
                                data.splice()
                            }
                            else{
                                data.date.forEach(x => {
                                self.dataSource.data.push(x);
                            });
                            }
                        })
                }

我原来的代码是这样的

     getdata() {
                    let self = this
                    axios.get('/getGraph/' + self.teacher)
                        .then(({
                            data
                        }) => {
                            data.date.forEach(x => {
                                self.dataSource.data.push(x);
                            });
                        })
                },
                getTeachers() {
                    axios.get('getTeachers')
                        .then((res) => {
                            this.teachers = res.data
                        })
                        .catch((e) => {
                            console.log(e)
                        })
                }

有人可以告诉我出了什么问题以及我怎样才能实现我想做的事情吗?多谢。

最佳答案

每次从服务器收到这样的数据时,您都必须清除数据。

 axios.get('/getGraph/' + self.teacher)
        then(({
                            data
        }) => {
        self.dataSource.data = []
        data.date.forEach(x => {
            self.dataSource.data.push(x);
        });
 }) 

关于javascript - Vue从选择框@changed后删除当前数据值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59893916/

相关文章:

javascript - 按小数位格式化数字

c++ - 在 C++ 中作为参数发送的数组清零

javascript - 在Javascript中将数组分为两部分

javascript - 基于第 n 个元素合并数组的有效方法是什么?

javascript - ajax jquery 和点击事件

javascript - Protocol Buffers byte[] 数组到 Node Javascript 缓冲区

javascript - 如何在 Vue 中循环遍历数组,使其次数为项目数量的一半?

javascript - PouchDB 和 Vue.js 集成

javascript - Vue.js 如何对打印的值求和

javascript - 在html中插入制表符或空格