zoukankan      html  css  js  c++  java
  • ant design Checkbox获取当前点击的数据

    需求场景:多选框,底下的内容根据选择的值来展示,选项值和内容对应
    如: 选择A,展示A的内容
        选择B,展示B的内容

    所以需要点击选择的时候,知道当前选中的是哪一项

    这个是选择组,一开始使用 了CheckboxGroup,但是这个onchange回调拿到的是选择的全部数值,不能知道当前选中的数值

    换成普通的 Checkbox
    const FormDom = () => {
      const [selectdType, setSelectdType] = useState<any[]>([])
    
      // 选项变化
      const onChange = (e: any, type: string) => {
        let types = [...selectdType]
        const checked = e.target.checked
        if (checked) {
          if (!selectdType.includes(type)) {
            types.push(type)
          }
        } else {
          types = types.filter(item => item !== type)
        }
        setSelectdType(types)
        console.log(e, type, selectdType)
      }
    
      return (
        ...
        <Form.Item
          label="要素类型"
          name="issueElementTypes"
          rules={[{ required: true, message: '请选择要素类型' }]}
        >
          // 将对应的value值传递出去,可以写需要的值,如1,2,3等
          <Checkbox onChange={(e) =>onChange(e, 'a')}>a</Checkbox>
          <Checkbox onChange={(e) =>onChange(e, 'b')}>b</Checkbox>
          <Checkbox onChange={(e) =>onChange(e, 'c')}>c</Checkbox>
        </Form.Item>
        ...
        // 内容对应展示
        {selectdType.includes('a') ? <div>
          <h3>a的内容</h3>
        </div> : null}
        {selectdType.includes('b') ? <div>
          <h3>b的内容</h3>
        </div> : null}
        {selectdType.includes('c') ? <div>
          <h3>c的内容</h3>
        </div> : null}
      )
    
    }

    打印的内容

  • 相关阅读:
    将项目中某些常用设置做成配置项
    资产管理平台去除zabbix字样
    navicat远程连接报错
    Excel数据导入MySql数据库
    Ubuntu16.04使用命令行安装jdk1.8
    zabbix4.0配置短信报警
    整洁代码系列(2)
    找回篮球场上的快乐
    努力做人、努力学习、努力让身边的人过得更好 --2016年总结、2017年规划
    整洁代码系列(1)
  • 原文地址:https://www.cnblogs.com/steamed-twisted-roll/p/14917693.html
Copyright © 2011-2022 走看看