撕下更改签名

Strapi onChange signature

我正在对同事定制的 Strapi CMS 进行一些小的调整。

我需要使用自定义扩展现有插件 UI [完成] 并能够保留配置更改。找到数据库配置和生命周期方法。我的模型中的那些函数从未被调用。

有人告诉我,onChange 方法的签名是 onChange({value: newValue}),我的组件在 props 中接收到它,它是 [对不起我的英语] 名为 [= 的变量的新值13=] 来自组件属性 [props].

const Category = (props) => {
  const { name, visible, value, onChange } = props;
  ...

  return (
    <div className="container" style={{ margin: '2rem auto', paddingLeft: 0 }}>
      <table className="col-12">
        {allSubCategories &&
          Object.keys(allSubCategories).map((key) => (
            <SubCategoryList
              key={`sblist ${key}`}
              title={key}
              visible={visible}
              data={allSubCategories[key]}
              remainingData={data}
              availableAttributes={value}
              onChange={(value) => {
                console.log('value:', value);
                console.log('before onchange');
                onChange({value});
                console.log('finished onchange');
              }}
            />
          )
        )}
      </table>
    </div>
  );
}

我使用的这个签名对我不起作用。对 onChange() 的调用因错误而崩溃:Uncaught TypeError: Cannot read properties of undefined (reading 'name').

onChange的正确使用方法是什么?

找到正确的签名

onChange({
  target: {
    name,
    value,
  },
});

现在,它正在运行。