React Materialise Switch 的值始终为“on”

发布时间:2021-03-05 03:14

我直接从这个网站使用 React Switch 组件:http://react-materialize.github.io/react-materialize/?path=/story/components-switch--switch。我把它放到我的 SideNav 中:

result.definitions

我这样做是为了当点击开关时,它会调用包含以下内容的“exampleFunction()”:

<Switch
    id="Switch-11"
    offLabel="Off"
    onChange={(e) => exampleFunction(e)}
    onLabel="On"
/>

问题是当我查看控制台的开关值时,它总是“打开”,即使我多次按下它。我有点不明白为什么会发生这种情况。任何意见,将不胜感激。谢谢。

回答1

如果想知道checkbox是否被勾选,需要使用e.target.checked,查看source code from materialize,我们可以看到onChange是直接传递给input元素的,所以需要使用 input elementchecked 属性。

value 属性具有以下定义:

<块引用>

value 属性设置或返回复选框的 value 属性的值。

<块引用>

对于复选框,value 属性的内容不会出现在用户界面中。 value 属性仅在提交表单时才有意义。如果提交表单时复选框处于选中状态,则复选框的名称与 value 属性的值一起发送(如果复选框未选中,则不发送任何信息)。

来自:https://www.w3schools.com/jsref/prop_checkbox_value.asp