vxe-table使用removeCheckboxRow源数并没有改变
时间: 2023-08-03 13:03:30 浏览: 247
vxe-table 的 `removeCheckboxRow` 方法是用于删除勾选的行数据,它不会直接修改源数据,而是通过 `vue.set()` 和 `vue.delete()` 方法来更新 Vue 实例中的数据,从而触发视图的更新。
如果你想要删除源数据中的对应行,可以参考以下代码示例:
```js
// 假设你有一个名为 data 的数组,其中包含了表格中的所有数据
// 假设你要删除第一行数据,可以这样写:
const index = data.indexOf(data[0])
if (index !== -1) {
data.splice(index, 1)
}
```
这样就可以将源数据中的对应行删除了。注意,如果你已经使用了 `removeCheckboxRow` 方法删除了勾选的行数据,那么你需要在源数据中找到对应的行数据并将其删除。
相关问题
vxe-table使用remove源数并没有改变
vxe-table 的 remove 方法在默认情况下不会直接修改原始数据源,而是会创建一个新的数据源并返回。如果你想要删除原始数据源中的数据,可以在对应的事件中手动修改原始数据源。
例如,在使用 remove 方法删除某一行后,可以在对应的 success 事件中通过 splice 方法从原始数据源中删除该行,示例代码如下:
```javascript
this.$refs.table.remove([row]).then(() => {
const index = this.data.indexOf(row)
if (index !== -1) {
this.data.splice(index, 1)
}
})
```
其中,`this.data` 是原始数据源。这样,当你调用 remove 方法删除某一行时,原始数据源也会相应地更新。
vxe-table嵌套vxe-table,里面的vxe-table如何获取外层vxe-table的row?
在vxe-table中嵌套vxe-table时,内层的vxe-table可以通过作用域插槽(scoped slot)来获取外层vxe-table的row数据。具体步骤如下:
1. 在外层vxe-table的列定义中,使用作用域插槽(scoped slot)来传递row数据给内层vxe-table。例如,可以在外层vxe-table的列定义中添加一个自定义列,并使用作用域插槽将row数据传递给内层vxe-table,如下所示:
```html
<vxe-table :data="outerData">
<vxe-column type="index" width="60"></vxe-column>
<vxe-column field="name" title="Name"></vxe-column>
<vxe-column title="Nested Table">
<template #default="{ row }">
<vxe-table :data="row.nestedData">
<!-- 内层vxe-table的列定义 -->
</vxe-table>
</template>
</vxe-column>
</vxe-table>
```
2. 在内层vxe-table的列定义中,可以通过作用域插槽(scoped slot)的方式获取外层vxe-table传递的row数据。例如,可以在内层vxe-table的列定义中使用作用域插槽来访问外层vxe-table的row数据,如下所示:
```html
<vxe-table :data="nestedData">
<vxe-column field="nestedField1" title="Nested Field 1"></vxe-column>
<vxe-column field="nestedField2" title="Nested Field 2"></vxe-column>
<vxe-column title="Outer Row Data">
<template #default="{ $table }">
<!-- 使用 $table.$scoped.row 获取外层vxe-table的row数据 -->
<span>{{ $table.$scoped.row }}</span>
</template>
</vxe-column>
</vxe-table>
```
通过以上步骤,内层的vxe-table就可以获取到外层vxe-table的row数据,并进行相应的操作。
阅读全文