橘络309 2022-11-25 11:18 采纳率: 40%
浏览 2
已结题

怎样根据数组内容同步表格的勾选状态?

怎样根据数组内容同步表格的勾选状态?

点击提交,弹窗关闭,会在父组件的相应对方出现对应标签
(弹窗)

img

(父组件)

img

当再次点击打开弹窗时,已选择的人员在下方存在,但是表中状态没有选中,怎样让标签和表格选中状态同步?

img

我的想法是根据标签筛选表格数据,将对应勾选状态赋上去,但是没实现,不知道哪里出问题了

子组件中

const toggleRowSelection = (row: any,state:any) => {
    return tableRef.value?.toggleRowSelection(row, state)
}

defineExpose({
    centerDialogVisible,
    getSelectionRows,
    toggleRowSelection
})

父组件中

const selectbtn = async () => {
    dialogRef.value!.centerDialogVisible = true
    let { rows: list } = await surplusPeo({ groupId: formData.value.groupId })
    sildeData.value = list
    console.log(sildeData.value, 'sildedata');
    // console.log(dynamicTags1.value,'dynamicTags1');
    for (let item of sildeData.value) {
        for (let i of dynamicTags1.value) {
            if (i == item.nickName) {
                dialogRef.value.toggleRowSelection(item,true)
            }
        }
    }
}
  • 写回答

1条回答 默认 最新

  • 越来越好。 2022-11-25 14:22
    关注

    我觉得你的思路没问题。只是视图为什么没有更新,试试这样?加一个 nextTick ??

    const selectbtn = async () => {
        dialogRef.value!.centerDialogVisible = true;
        let { rows: list } = await surplusPeo({ groupId: formData.value.groupId })
        sildeData.value = list;
        console.log(sildeData.value, 'sildedata');
        nextTick(()=>{
            // console.log(dynamicTags1.value,'dynamicTags1');
            for (let item of sildeData.value) {
                for (let i of dynamicTags1.value) {
                    if (i == item.nickName) {
                        dialogRef.value.toggleRowSelection(item,true)
                    }
                }
            }
        })
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 能给我一些人生建议吗
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?
  • ¥30 使用quartz框架进行分布式任务定时调度,启动了两个实例,但是只有一个实例参与调度,另外一个实例没有参与调度,不知道是为什么?请各位帮助看一下原因!!
  • ¥50 怎么获取Ace Editor中的python代码后怎么调用Skulpt执行代码
  • ¥30 fpga基于dds生成幅值相位频率和波形可调的容易信号发生器。
  • ¥15 R语言shiny包和ncdf4包报错
  • ¥15 origin绘制有显著差异的柱状图和聚类热图
  • ¥20 simulink实现滑模控制和pid控制对比,提现前者优势