【问题标题】:How do I fix Object?如何修复对象?
【发布时间】:2019-07-16 10:40:23
【问题描述】:

我正在使用TextInputMask 设置货币。当我在ListIstem 元素中使用它时,它会与其他元素一起作为“对象”。

示例代码:

<FlatList
  data={teams}
  renderItem={({item}) =>
    <ListItem
      title={item.team}
      subtitle={
        <TextInputMask
          type={'money'}
          options={{ precision: 2, separator: ',', delimiter: '.', unit: '' }}
          value={parseFloat(item.amount)}
        /> + 'Count: ' + item.count
      }
      bottomDivider={true}
    />
  }
  keyExtractor={this.keyExtractor}
/>

输出;

[object Object] Count: 6
``

【问题讨论】:

  • 你能添加什么是整个单项吗?
  • 能否在问题中包含TextInputMaskitem.amount 的示例value?这是一个解析错误
  • 它仅在我添加 TextInputMask 时有效。不与他人合作。

标签: reactjs react-native react-native-elements


【解决方案1】:

试试这个:将 subtitle 替换为 ListItem 为:

subtitle={
  <div>
    <TextInputMask
      type={'money'}
      options={{ precision: 2, separator: ',', delimiter: '.', unit: '' }}
      value={parseFloat(item.amount)}
    />
    {'Count: ' + item.count}
  </div>
}

【讨论】:

  • [object Object] 产生此文本的实际值是多少?
  • 这样的字符串“222.55”
  • 能否在问题中包含 TextInputMask 组件代码?
【解决方案2】:

您正在向一个对象添加整数,这就是它显示它的原因。 TextInoutMask 组件将 suffixUnit 作为道具,您可以直接在此处给出 item.count 的值。

<TextInputMask
  type={'money'}
  options={{ precision: 2, separator: ',', delimiter: '.', unit: '', suffixUnit: `Count: ${item.count}` }}
  value={parseFloat(item.amount)}
/>

【讨论】:

  • 这无关紧要。您可以在“值”部分翻译数字。您正在添加一个字符串。它不起作用。
【解决方案3】:

更改为带返回值的一个。

<FlatList
  data={teams}
  renderItem={({item}) =>
    <ListItem
      title={item.team}
      subtitle={
        MaskService.toMask('money',parseFloat(item.amount), {
    unit: '',
    precision: 2,
    separator: ',',
    delimiter: '.'
}) + 'Count: ' + item.count
      }
      bottomDivider={true}
    />
  }
  keyExtractor={this.keyExtractor}
/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-22
    • 2023-03-04
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2022-01-05
    相关资源
    最近更新 更多