У меня есть компонент React, который отображает элемент <progress/>
в стиле Bootstrap. Элемент <progress/>
берет два реквизита: value
и max
и использует их для рисования индикатора выполнения. Он отлично работает большую часть времени. Однако, когда value=0
, само устройство value
не появляется в DOM. Это заставляет компонент отображаться как индикатор выполнения, который «пульсирует» (т. Е. Его часть прокручивается слева направо навсегда).React «value» prop, не достигнув DOM, если установлен в 0
То есть, следующий код возвращается методом Реагировать render
: <progress value=0 max=255>0/255</progress>
Но это то, что доходит до фактического DOM: <progress max=255>0/255</progress>
Что вызывает это? Он работает во всех других случаях (то есть 0 < значение < max) просто отлично. Как я могу сделать это правильно, когда value=0
?
Изменить: функция render()
ниже:
var barColor = "info";
if (row.fraction <= 0.25)
barColor = "danger";
else if (row.fraction <= 0.50)
barColor = "warning";
return (
<div>
<Col md={10}>
<progress className={"progress progress-" + barColor} value={row.quantity} max={row.total}>
{row.quantity + "/" + row.total}
</progress>
</Col>
<Col md={2}>
<span style={{fontSize: "12px"}}>{row.quantity + "/" + row.total}</span>
</Col>
</div>
);
Можете ли вы опубликовать свой метод визуализации? – mrlew
@mrlew Я добавил его в редактирование. – sagargp
Единственное, что приходит в голову, не глядя на полный источник, - это что-то вроде 'row.quantity'' undefined' или 'null', в результате чего значение prop не отображается. Можете ли вы «console.log» проверить, действительно ли значение равно нулю? – mrlew