2017-09-14 130 views
0

我正在使用office 365 progress bar。我從websocket獲取數據(百分比)。現在我有下一個代碼:爲什麼進度條總是顯示100%?

export default class NotificationBar extends Component { 

    constructor(props) { 
     super(props); 
     this._async = new Async(this); 
    } 

    render(){ 
     let { process } = this.props;// this object I get from flux store, it refreshes when web socket updates 

     return (
        <ProgressIndicator 
         percentComplete={ this._getProgress() } /> 
     ) 
    }; 

    _getProgress =() => { 
     let { process } = this.props;//here this.props.process.percent updates 
     return process.percent; 
    }; 
} 

頁面加載進度條變成100%後並沒有改變,雖然我從方法得到百分比。我試圖實驗,並把在組件的渲染:

  • PERCENTCOMPLETE = {0} -progressbar是空
  • PERCENTCOMPLETE = {任何數量> 0}進度顯示100%

什麼可以是這種行爲的原因?我犯了什麼錯誤?

+0

你說有一個'this.props.percent',但你要返回'this.props.process.percent'。哪一個? :) – Chris

+0

有一個錯誤。它必須是this.props.process.percent.all已更正 –

+0

PercentComplete是否在0和1之間? –

回答

1

這是因爲percentComplete必須是介於0和1之間的數字。如果您使用多於1,它會計爲100%。

在編程中這種行爲被廣泛使用,因爲50%只是50/100 = 0.5,例如。