您现在的位置是:网站首页> 编程资料编程资料
react实现动态选择框_React_
2023-05-24
247人已围观
简介 react实现动态选择框_React_
本文实例为大家分享了react实现动态选择框的具体代码,供大家参考,具体内容如下
小需求
在工作中,我们也会碰到这种需求: 为了提高用户的体验,在搜索的时候,采用灵活查询。用户可以自己选择查询项并且填写对应的值。

这篇博文涉及知识点在这篇博文“react+antd 动态编辑表格数据”中提及过。大家可以先去这篇学习一下然后这里。
示例代码
import React, { Component, useState } from 'react'; import { Button, Col, message, Select, Row, Input } from 'antd' import { PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons'; const { Option } = Select function Index() { // 可选项 const [choseList, setChoseList] = useState(['商品ID', '款号', '产品线','一级类目','二级类目','三级类目','渠道']) // 已存在选 const [exitChoseList, setExitChostList] = useState([]) /** * searchData的数据结构是: * { * // 选择项 'sort': '', // 用户选择的值,即在多选框中选择的值 'value': [], // 可选择项 'chose_list': [], // 用户选择一个选择项之后,这个选择项对应的所有的选择。例如: 选择项为“季节”则春夏秋冬 'value_chose_list':[] } */ const [searchData, setSearchData] = useState([]) return ( { searchData.map((item, index) => { return { searchData[index]['sort'] == '商品ID' || '款号' ? { let obj = [...searchData] obj[index]['value'] = e.target.value setSearchData(obj) }} /> : } { if(searchData[index]['sort'] != ''){ let value = searchData[index]['sort'] let exitChoseObj = [...exitChoseList] setExitChostList([]) exitChoseObj.pop(value) setExitChostList(exitChoseObj) let obj = [...searchData] obj.splice(index, 1); setSearchData(obj) } }} /> }) } { let obj = [...searchData] setSearchData([]) let arr3 = choseList.filter(items => exitChoseList.indexOf(items) == -1); obj.push({ 'sort': '', 'value': [], 'chose_list': arr3, 'value_chose_list':[] }) setSearchData(obj); }} />
) } export default Index总结
这里就是采用了react中的: […searchData] 这个特性,造的第一个组件。后续还会继续分享自己的造的组件。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
