【问题标题】:React JS bold the text in betweenReact JS 将中间的文本加粗
【发布时间】:2017-05-24 20:29:10
【问题描述】:

在下面的代码中,我只想为chartDesc 设置一些字词的样式(例如“投资回收期”)。粗体或斜体等。尝试了正则表达式,没有用。请帮忙!

import React from 'react';
import Pie from './Pie';
import TextTruncate from 'react-text-truncate';
import ReactTooltip from 'react-tooltip';
import { browserHistory } from 'react-router';

export default class Donutchart extends React.Component {
    constructor(props) {
        super();
    }

    getElements(id) {
        let backendData = this.props.data;
        let width = 120;
        let height = 120;
        let radius = Math.min(width, height) / 2;
        let donutWidth = 15;

        let chartData;
        let chartDesc;
        switch(id) {
            case 'CASH_PURCHASE' :{
               chartData = backendData["financialModelToFinancialSummary"][id];
               const chartDescValue = backendData["financialModelToFinancialSummary"][id];

               chartDesc = `Your estimated Solar Savings over 25 years (after net costs) will be $ ${parseFloat(chartDescValue.savings).toFixed(0)}, the payback period will be ${chartData["roiYear"]} years, and your home will increase in value by $ ${parseFloat(chartDescValue.increaseHomeValue).toFixed(0)}`;
               break;
        }

【问题讨论】:

  • 您在何处以及如何显示 chartDesc。你能控制它的显示吗?
  • 你的渲染函数在哪里?你能把它包括进来吗
  • 下面是TextTruncate标签下的渲染函数<TextTruncate line={2} truncateText="…" text={chartDesc} textTruncateChild={<a style={{color: chartData.uiData.color}} onClick={this.onDetailClick.bind(this,id)}>more..</a>} />

标签: reactjs text styles


【解决方案1】:

您可以将chartDesc 设置为组件本身,而不是进行字符串插值。

chartDesc = (
  <p>
    Your estimated Solar Savings over 25 years (after net costs) will be $ {parseFloat(chartDescValue.savings).toFixed(0)}, <b>the payback period</b> will be ${chartData["roiYear"]} years, and your home will increase in value by $ ${parseFloat(chartDescValue.increaseHomeValue).toFixed(0)}
  </p>
);

(见html中的&lt;b&gt;标签)

【讨论】:

  • 仅当chartDesc 可以这样使用时。如果它被用作另一个将 chartDesc 视为字符串的组件的道具,那么这将不起作用
  • @TMitchell 您能否查看我对渲染方式的评论并提供建议?
  • @VinayDS 看起来 react-text-truncate 需要一个字符串,因此您将无法如上所述发送组件
  • @TMitchell 谢谢。还有其他方法可以实现我的需要吗?
  • @VinayDS 可能会修改截断组件以适合您,或找到替代解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多