我正在使用 npm 包react-sortablejs
。在我的组件中,我想disabled
动态设置选项。现在我的组件看起来像这样:
class Example extends Component {
constructor(props) {
super(props)
this.state = { }
}
render() {
const { disabled } = this.props // <-- Boolean value as property
return (
<List>
<Sortable
options={{
handle : '.sortable-handle',
draggable: '.sortable-item',
disabled : disabled // <-- Use the bool value
}}
>
<Items>
</Sortable>
</List>
)
}
}
该disabled
值存储在 DB 中。如果该值更改,则应禁用/启用可排序。但是这种方式是行不通的。
该软件包基于RubaXa/Sortable
. 在那里我可以像这样设置禁用选项:
var sortable = Sortable.create(list);
document.getElementById("switcher").onclick = function () {
var state = sortable.option("disabled"); // get
sortable.option("disabled", !state); // set
};
但是我如何在反应组件中以动态方式做到这一点?
更新
按照我的做法,该disabled
选项最初只是在渲染组件时设置的。如果渲染后值发生变化,则选项不变,因此如果值从true
变为false
,则 disabled-option 仍然保持为真。