ANTD开关反应 - 如何区分一个开关与另一个开关

发布于 2025-02-05 04:27:30 字数 691 浏览 0 评论 0原文

我想使用ANTD开关在网站上实现简单的逻辑,以便我可以基本上检查一个开关,然后检查一个console.log(“已检查一个开关一个”)。但是我不知道如何区分一个切换与另一种切换。

here is my App.js

import React,{ useState } from 'react';
import { Switch } from 'antd';
import './App.css';



const App = () => {
  const [toggle, setToggle] = useState() ;

  const onChange = (checked) => {
    console.log(`switch to ${checked}`);
  }
  return(
  <div className="App">
    <Switch onChange={onChange}></Switch>
    <Switch onChange={onChange}></Switch>
  </div>
);

}
export default App;

Right now there is no way how to distinguish the click of the on switch from click of the other switch.

I would like to implement simple logic on my website using antd switches so I can control my hue lights basically if switch one is checked then console.log("switch one is checked"). But i don't know how to distinguish one switch from another.

here is my App.js

import React,{ useState } from 'react';
import { Switch } from 'antd';
import './App.css';



const App = () => {
  const [toggle, setToggle] = useState() ;

  const onChange = (checked) => {
    console.log(`switch to ${checked}`);
  }
  return(
  <div className="App">
    <Switch onChange={onChange}></Switch>
    <Switch onChange={onChange}></Switch>
  </div>
);

}
export default App;

Right now there is no way how to distinguish the click of the on switch from click of the other switch.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

﹂绝世的画 2025-02-12 04:27:30

您可以有两个状态值保存两个开关的状态。并确定检查了哪个开关,您可以使用两个不同的on Change回调来识别单击哪个开关。下面的演示代码:

import React,{ useState } from 'react';
import { Switch } from 'antd';
import './App.css';

const App = () => {
  const [toggleSwitchOne, setToggleSwitchOne] = useState(false) ;
  const [toggleSwitchTwo, setToggleSwitchTwo] = useState(false) ;

  const onChangeSwitchOne = (checked) => {
    console.log(`switch 1 to ${checked}`);
    setToggleSwitchTwo(!toggleSwitchOne)
  }

  const onChangeSwitchTwo = (checked) => {
    console.log(`switch 2 to ${checked}`);
    setToggleSwitchTwo(!toggleSwitchTwo)
  }

  return(
  <div className="App">
    <Switch checked={toggleSwitchOne} onChange={onChangeSwitchOne}></Switch>
    <Switch checked={toggleSwitchTwo} onChange={onChangeSwitchTwo}></Switch>
  </div>
);

}
export default App;

You can have two state values saving the state of two switches. And to identify which switch was checked you can either use two different onChange callbacks to identify which switch was clicked. Demo code below:

import React,{ useState } from 'react';
import { Switch } from 'antd';
import './App.css';

const App = () => {
  const [toggleSwitchOne, setToggleSwitchOne] = useState(false) ;
  const [toggleSwitchTwo, setToggleSwitchTwo] = useState(false) ;

  const onChangeSwitchOne = (checked) => {
    console.log(`switch 1 to ${checked}`);
    setToggleSwitchTwo(!toggleSwitchOne)
  }

  const onChangeSwitchTwo = (checked) => {
    console.log(`switch 2 to ${checked}`);
    setToggleSwitchTwo(!toggleSwitchTwo)
  }

  return(
  <div className="App">
    <Switch checked={toggleSwitchOne} onChange={onChangeSwitchOne}></Switch>
    <Switch checked={toggleSwitchTwo} onChange={onChangeSwitchTwo}></Switch>
  </div>
);

}
export default App;
烂柯人 2025-02-12 04:27:30

您可以发送一些ID来管理此ID。您的开关代码将转换为这样的东西。

import React,{ useState } from 'react';
import { Switch } from 'antd';
import './App.css';



const App = () => {
  const [toggle, setToggle] = useState() ;

  const onChange = (id,checked) => {
    console.log(`switch to ${id} is ${checked}`);
  }
  return(
  <div className="App">
    <Switch onChange={(checked)=>onChange("ab",checked)}></Switch>
     <Switch onChange={(checked)=>onChange("cd",checked)}></Switch>
  </div>
);

}
export default App;

you can send some id to manage this. Your code for switch will be converted to something like this.

import React,{ useState } from 'react';
import { Switch } from 'antd';
import './App.css';



const App = () => {
  const [toggle, setToggle] = useState() ;

  const onChange = (id,checked) => {
    console.log(`switch to ${id} is ${checked}`);
  }
  return(
  <div className="App">
    <Switch onChange={(checked)=>onChange("ab",checked)}></Switch>
     <Switch onChange={(checked)=>onChange("cd",checked)}></Switch>
  </div>
);

}
export default App;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文