为什么写上这个 @selection-change,一点击就没有数据了
时间: 2024-04-20 09:23:40 浏览: 5
@selection-change 是一个 Vue.js 的事件监听器,用于监听选择框的选项变化事件。当你写上 @selection-change="handleselectionchange" 时,它会调用名为 handleselectionchange 的方法来处理选择框的选项变化。
关于点击后没有数据的问题,可能是因为在 handleselectionchange 方法中没有正确地更新数据或者获取数据的逻辑有问题。你可以检查一下 handleselectionchange 方法的实现,确保它正确地获取到了数据,并将数据更新到你期望的位置。
如果你能提供更多的代码或者具体的错误信息,我可以帮助你更精确地找到问题所在。
相关问题
<template> <el-row> <basic-container> <avue-crud :option="option" :table-loading="loading" :data="dataList" :options="tableOptions" :page="page" :search="query" :permission="permissionList" :before-open="beforeOpen" :sortKey="sortKey" :sortOrder="sortOrder" :default-sort = "{prop: 'statusTime', order: 'String'}" @sort-change="handleSortChange" v-model="form" ref="crud" @row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> <template slot="menuLeft" > <el-button type="primary" size="small" icon="el-icon-delete" plain ref="form" v-model="form" :option="option" @click="handleDelete">删 除 </el-button> </template> export default { data() { return { column: [ { label: "设备组", prop: "groupId", filters:true, search: "true", dicData:[], //清空 // clearable:false, type: 'tree', rules: [{ required: true, message: "请输入设备名", trigger: "blur" }] },] }}} 基于AVUE 框架 在自定义的删除按钮 绑定 设备组的搜索框 的输入值 输入搜索信息 点击删除按钮 获取到当前输入框的值
你可以使用AVUE框架来自定义删除按钮,并将设备组的搜索框的输入值与删除按钮绑定。下面是一个示例代码,展示了如何在点击删除按钮时获取当前搜索框的值:
```html
<template>
<el-row>
<basic-container>
<avue-crud
:option="option"
:table-loading="loading"
:data="dataList"
:options="tableOptions"
:page="page"
:search="query"
:permission="permissionList"
:before-open="beforeOpen"
:sortKey="sortKey"
:sortOrder="sortOrder"
:default-sort="{ prop: 'statusTime', order: 'String' }"
@sort-change="handleSortChange"
v-model="form"
ref="crud"
@row-update="rowUpdate"
@row-save="rowSave"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template slot="menuLeft">
<el-button
type="primary"
size="small"
icon="el-icon-delete"
plain
ref="form"
v-model="form"
:option="option"
@click="handleDelete"
>
删除
</el-button>
</template>
</avue-crud>
</basic-container>
</el-row>
</template>
<script>
export default {
data() {
return {
column: [
{
label: "设备组",
prop: "groupId",
filters: true,
search: true,
dicData: [],
//清空
// clearable:false,
type: 'tree',
rules: [
{
required: true,
message: "请输入设备名",
trigger: "blur"
}
]
}
],
form: {}, // 表单数据
query: {}, // 搜索数据
};
},
methods: {
handleDelete() {
// 获取当前搜索框的值
const groupId = this.query.groupId;
console.log(groupId);
// 在这里执行删除操作
},
},
};
</script>
```
在这个示例中,我们在AVue CRUD组件中添加了一个自定义的删除按钮,并将其绑定到`handleDelete`方法。在`handleDelete`方法中,我们可以通过`this.query.groupId`获取当前搜索框的值,并进行相应的操作。请根据实际情况修改代码,并执行适当的删除操作。
el-table点击多选框获取当前选中行的数据
你可以通过监听 el-table 的 selection-change 事件来获取当前选中的数据。在事件处理函数中,可以通过传入的参数 selection 获取到当前选中的行数据,具体实现如下:
```html
<template>
<el-table :data="tableData" @selection-change="handleSelectionChange">
<el-table-column type="selection"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: '张三', age: 18 },
{ name: '李四', age: 20 },
{ name: '王五', age: 22 },
],
selectedData: [], // 存储选中的行数据
}
},
methods: {
handleSelectionChange(selection) {
this.selectedData = selection
},
},
}
</script>
```
在上面的示例中,我们定义了一个 selectedData 数组来存储选中的行数据。在 handleSelectionChange 方法中,我们将传入的 selection 参数赋值给 selectedData 数组。这样,在组件中就可以使用 selectedData 数组来获取当前选中的行数据了。