![image.png](/img/bVc6L这个是写的html
// 获取每一行的key
const rowKey = (row:any) => {
return row.id;
};
// 勾选复选框事件
const handleSelectionChange = (selection: User) => {
let currentRow;
if (selection.length > multipleSelection.value.length) {
// 勾选了复选框
currentRow = selection.slice(-1)[0]; // 获取最后一个元素
} else {
// 取消了复选框
currentRow = multipleSelection.value.find(
(row:any) => !selection.includes(row)
); // 获取不在 selection 中的元素
}
multipleSelection.value = selection
SelectionChange(currentRow)
}
const SelectionChange = (row:any) => {
SigCategoryUpdate({
id: row?.id,
category: row?.category,
enable: !row?.enable
}).then(res => {
if(res.code === 200) {
tableData.value.forEach((item:any) => {
if(item.id === row.id){
item.enable = !row.enable
}
})
nextTick(() => toggleSelection(tableData.value))
}
})
}
这个是进入页面的时候获取到数据,添加默认的勾选框
const getRuleManageData = () => {
RuleManage({
engine: 'engine-1'
}).then(res => {
if(res.code === 200) {
listLoading.value = false
tableData.value = res.data.sig_category
nextTick(() => toggleSelection(res.data.sig_category))
}
})
}
const toggleSelection = (rows: any) => {
if(rows) {
rows.forEach((row: any) => {
if(row.enable) {
multipleTableRef.value!.toggleRowSelection(row,row.enable)
}
})
}else {
multipleTableRef.value!.clearSelection()
}
}
我在改变了勾选框状态以后,刷新页面他会自动执行handleSelectionChange事件里面的SelectionChange事件,导致选中的也会变为没选中,如何解决有没有什么方法,麻烦给我指正一下
你先修改 toggleSelection:
const toggleSelection = (rows: any, isInitialLoad: boolean) => {
if(rows) {
rows.forEach((row: any) => {
if(row.enable) {
multipleTableRef.value!.toggleRowSelection(row, row.enable, isInitialLoad);
}
})
}else {
multipleTableRef.value!.clearSelection()
}
}
然后,在 getRuleManageData 中调用 toggleSelection 时候,传true 作为 isInitialLoad 参数:
const getRuleManageData = () => {
RuleManage({
engine: 'engine-1'
}).then(res => {
if(res.code === 200) {
listLoading.value = false
tableData.value = res.data.sig_category
nextTick(() => toggleSelection(res.data.sig_category, true))
}
})
}
我需要一些帮助,我不知道如何解决这个问题。 当我设置适配器时,我需要默认选择几个复选框,但我不能这样做。为什么?我认为问题是CheckableRelativeLayout。我使用RelativeLayout的这个变体,因为我需要单击行并选择复选框。 当我使用RelativeLayout的这个变体时,列表中的所有复选框都未选中。如果您在最后看到我的日志,当选中复选框时会触发事件“onCheckedC
使用element-plus中的e-link,点击后导致页面刷新怎么办? 但使用router-link就没问题,不会导致刷新 路由配置如下: 前端新手,求指点,谢谢!
vue3+element-plus使用分页table,当数据多页时,如何在跨页切换时保留其他页已勾选项的勾选状态? 例如:多页下勾选,第一页勾选3条,第二页勾选2条,返回第一页,依旧显示勾选的3条(前提是第一页中仍然有该3条数据)
vue3+element-plus el-table选择框变成心形 网上搜索
本文向大家介绍基于vue v-for 循环复选框-默认勾选第一个的实现方法,包括了基于vue v-for 循环复选框-默认勾选第一个的实现方法的使用技巧和注意事项,需要的朋友参考一下 应用场景:在进行多选的时候一般默认显示第一个。 实现方法:纯vue实现 例子: 拓展:默认被选中的复选框,只需要index指定即可。 以上这篇基于vue v-for 循环复选框-默认勾选第一个的实现方法就是小编分享给
我希望在选中表中的所有复选框时选中标题复选框,如果没有选中单个复选框,则应取消选中标题复选框。