【问题标题】:Return string from function typescript从函数打字稿返回字符串
【发布时间】:2021-12-08 07:08:09
【问题描述】:

我在返回对象值中的字符串而不是函数时遇到问题。 目前,箭头函数返回一个对象数组,其中一个需要根据传入的值有条件地更改值。 代码如下:

const requestOptions = () => [
{
     id: 3,
     label: (object: Object) => `${activeStatus(object)}`,
     value: 'toggleActiveStatus',
}] 

activeStatus 方法返回一个字符串,但很难让标签分配一个字符串而不是类型 (validationRule: ValidationRule) => stringrequestOptions 被调用以将选项作为组件的 prop 返回。

我尝试了很多变体

label: (object: Object) => string = () => {

并将函数作为 IIFE 调用。

关于如何让它返回字符串本身而不是函数的任何想法? 提前致谢!

【问题讨论】:

  • object 是什么?
  • 这是我想要从中设置标签的值的对象。例如 object.status 可以是活动的或非活动的,并且方法根据该值返回一个字符串。
  • 是的,但它来自哪里?您打算如何传递object 参数?
  • requestOptions 被传递到表中,并在其中一行中作为下拉选项的选项传递。所以我有其他具有操作的下拉列表:``` { id: 2, label: 'Clone', value: 'cloneRule', action: (object: Object) => cloneRule(object), }, ```很好,可以读取对象
  • 但是这些是函数,所以工作正常,但我需要标签来返回一个字符串,而不是一个返回字符串的函数。

标签: reactjs typescript react-typescript


【解决方案1】:

如果你希望label 是一个字符串,那么你可以简单地删除匿名函数:

const requestOptions = () => [
{
     id: 3,
     label: `${activeStatus(object)}`,
     value: 'toggleActiveStatus',
}] 

【讨论】:

  • 虽然 requestOptions 函数在不同的组件中被调用,但不要认为这行得通,所以需要该函数来获取对象
  • 啊能够手动将对象传递给 requestOptions 并修复它!谢谢两位的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2019-09-03
  • 2010-12-14
相关资源
最近更新 更多