vbenjs / vue-vben-admin

A modern vue admin. It is based on Vue3, vite and TypeScript. It's fast!
https://vben.vvbin.cn/
MIT License
22.88k stars 6.24k forks source link

在table点击checkbox会触发两次onChange回调,不知道是bug还是我写法问题 #3904

Open zhangyi1234 opened 4 weeks ago

zhangyi1234 commented 4 weeks ago

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

描述 Bug

设置table属性 clickToRowSelect = false点击checkbox会触发两次onChange回调 设置table属性 clickToRowSelect = true 点击checkbox同样会触发两次onChange回调, 但是点击数据行 则正常 只触发一次

复现 Bug

  const handleSelectChange = (selectedRowKeys, selectedRows) => {
    console.log('handleSelectChange', Date.now());
    // handleStatistic(selectedRows);
  };
  const [registerTable, { reload, setSelectedRowKeys, getSelectRowKeys }] = useTable({
    rowSelection: {
      type: 'checkbox',
      fixed: true,
      onChange: handleSelectChange,
    },
    immediate: false,
    clickToRowSelect: false,
    rowKey: 'id',
    api: getData,
    pagination: false,
    columns: [
      {
        title: '名称',
        dataIndex: 'name',
        customRender: ({ record }) => {
          return record.get_material?.name;
        },
      },
    ],
    showIndexColumn: false,
    canResize: false,
  });

image

系统信息