【问题标题】:React Materialize Switch Always Has the Value "on"React Materialise Switch 的值总是“on”
【发布时间】:2021-03-05 03:14:25
【问题描述】:

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

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

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

const exampleFunction = (e) => {
    console.log(e.target.value)
}

问题是当我在控制台查看开关的值时,它总是“打开”,即使我多次按下它也是如此。我有点迷茫为什么会这样。任何意见,将不胜感激。谢谢。

【问题讨论】:

    标签: reactjs materialize


    【解决方案1】:

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

    value 属性的定义如下:

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

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

    发件人:https://www.w3schools.com/jsref/prop_checkbox_value.asp

    【讨论】:

    • 嘿。我不知道你为什么被否决,但你是对的。我刚刚尝试了 e.target.checked 并且它有效。非常感谢。看来我应该更仔细地阅读文档。
    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多