Avue中的表格选择器 onload为何会返回两次结果
时间: 2023-12-22 18:04:34 浏览: 119
可能的原因是,Avue中的表格选择器在加载数据时,会先发送一次请求获取数据,然后再渲染表格。当数据请求成功后,onload事件会被触发,这时候会返回一次结果。接着,表格开始渲染,当渲染完成后,onload事件会再次被触发,这时候会返回第二次结果。因此,你会发现onload事件返回了两次结果。如果你只需要一次结果,可以通过判断onload事件是否是第一次触发来解决。
相关问题
Avue中的表格选择器内的onload({page,value,data})中的data如何保存保存么?
在 Avue 中的表格选择器(avue-crud-select)中,onload({page,value,data}) 方法中的 data 参数代表从服务器端获取的数据,如果需要将这些数据保存在本地,可以使用浏览器提供的本地存储功能(Local Storage 或 Session Storage)。
可以在 onload 方法中将获取到的数据存储到本地存储中,例如:
```
function onload({page, value, data}) {
// 将获取到的数据存储到本地存储中
localStorage.setItem('select-data', JSON.stringify(data));
// ...
}
```
在需要使用这些数据的地方,可以从本地存储中读取它们,例如:
```
function useData() {
// 从本地存储中读取数据
const data = JSON.parse(localStorage.getItem('select-data'));
// ...
}
```
需要注意的是,本地存储中存储的数据大小是有限制的,不同浏览器对本地存储的大小限制也不同。如果需要存储大量的数据,可以考虑使用其他方式,例如将数据存储到服务器端,或者使用 IndexedDB 等浏览器提供的数据库功能。
Avue中的表格选择器内的onload({page,value,data})中的data保存并传递给保存按钮的row中
在 Avue 中的表格选择器(avue-crud-select)中,可以在选择器中选中数据后,将选择的数据保存到父组件中的表格中。在保存数据时,可以将选择器中选中的数据传递给保存按钮所在的行(row)中,从而将选择的数据与表格中的数据进行合并。
具体实现方式如下:
1. 在父组件中定义一个数组,用于存储表格中的数据:
```
<template>
<div>
<avue-crud-select
v-model="selectValue"
:api="api"
:columns="columns"
:onload="onload"
:multiple="true"
></avue-crud-select>
<avue-table :data="tableData" :columns="columns"></avue-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [], // 表格中的数据
selectValue: [] // 选择器中选中的数据
};
},
// ...
}
</script>
```
2. 在 onload 方法中,将选择器中选中的数据保存到 selectValue 变量中:
```
function onload({ page, value, data }) {
this.selectValue = data;
}
```
3. 在保存按钮的点击事件中,将选择器中选中的数据与表格中的数据合并,并更新表格的数据:
```
function onSave(row) {
// 将选择器中选中的数据与表格中的数据合并
row.column1 = this.selectValue.map(item => item.column1).join(',');
row.column2 = this.selectValue.map(item => item.column2).join(',');
// 更新表格的数据
this.tableData = [...this.tableData];
}
```
在 onSave 方法中,可以根据需要对选择器中的数据进行处理,然后将处理后的数据与表格中的数据合并。在合并数据时,需要将表格中的数据复制一份,然后更新表格的数据,以触发 Avue 的响应式更新机制。
需要注意的是,如果选择器中可以选择多条数据,那么 selectValue 变量将是一个数组,需要根据实际情况进行处理。另外,如果选择器中的数据与表格中的数据的字段名不同,需要根据实际情况进行调整。
阅读全文
相关推荐














