javascript - React Material UI Slider禁用颜色不更新
问题描述
我有一个带有 Material UI 开关和滑块的 React.js 项目。开关用于启用和禁用滑块。但是,当开关切换时,只有 Slider 的拇指区域会改变颜色。如果我使用上面的搜索栏(或单击检查器中的元素),它会正确呈现整个 Slider(如图 3 所示)。
我的开关 handleChange 函数(在导出的函数内):
function ParamSlider(props) {
const [state, setState] = React.useState({checked: false, value: 50});
function handleChange() {
( state.checked ?
params[props.param] = null
:
params[props.param] = state.value )
setState({checked:!state.checked, value:state.value})
}
...
我的滑块:
<Slider
color="primary"
disabled={!state.checked}
valueLabelDisplay="auto"
aria-label={props.param}
defaultValue={50}
onChangeCommitted={(event, value) => {
setState({checked:state.checked, value:value})
params[props.param] = value
}}
/>
知道为什么 Slider 没有正确重新渲染吗?
解决方案
推荐阅读
- html - 我可以有一个粘性页脚并排列我的主要背景图像吗?
- c++ - 在 Visual Studio 中生成 CLR DLL 时与 OpenCV 相关的 LNK2005 错误
- python - 在异步函数中使用递归
- windows - 查尔斯代理 - 应用程序上的内容未显示在设备上
- jestjs - 如何在测试期间使用 Nock 禁用所有外部 API 请求?
- python - 如何在 python 中为矩阵数组设置动画?
- zapier - 集成:ActiveCampaign 到 Zapier 到 Google Chat
- c++ - 从 C++ 中的排序数组中删除重复项
- javascript - 如何在 Ubuntu 服务器上停止 NodeJs 文件
- r - 将字符串向量转换为公式样式,去掉**""*