JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://github.com/SteveSanderson/knockout/raw/master/build/output/knockout-latest.debug.js"></script>
disabled: <span data-bind="text: disabled"></span>
<br/>
errorDisabled: <span data-bind="text: errorDisabled"></span>
<br/>
<input type="button" data-bind="event: {
    click: disableThisButton
}, attr: {
    disabled: disabled
}" value="disable myself"></input>
<br/>
<input type="button" data-bind="event: {
    click: errorDisableThisButton
}, attr: {
    disabled: errorDisabled
}" value="error disable myself"></input>

<br/>

JavaScript

var viewModel = {
    disableThisButton: function() {
        viewModel.disabled(true);
    },
    errorDisableThisButton: function() {
        viewModel.errorDisabled(null);
    },
    disabled: ko.observable(false),
    errorDisabled: ko.observable(false)
};

ko.applyBindings(viewModel);