JSFiddle - React, Tailwind, and code Playground
HTML
<table>
<tr class="selectable">
<td class="center">
<input type="text" name="qtd" />
</td>
<td class="text-center">
<input type="text" name="valor" value="10" />
</td>
<td class="text-center">
<input type="text" name="total" value="resultado" />
</td>
</tr>
</table>
JavaScript
function getClosest(el, tagName) {
while (el = el.parentNode) {
if (el.tagName.toLowerCase() == tagName) return el;
}
}
window.addEventListener('keyup', function (e) {
// caso não seja o input pretendido
if (e.target.name != 'qtd') return;
// ir buscar o valor inserido
var value = parseFloat(e.target.value);
// ir buscar o outro valor dentro da mesma linha
var tr = getClosest(e.target, 'tr');
var valor = tr.querySelector('input[name="valor"]');
// calcular a soma
var sum = value + parseFloat(valor.value);
// inserir a soma no input total da mesma linha
tr.querySelector('input[name="total"]').value = sum;
});