最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react antd-design Select全選功能實(shí)例

 更新時(shí)間:2024年03月22日 09:43:40   作者:熱愛前端的小君同學(xué)  
這篇文章主要介紹了react antd-design Select全選功能實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

react antd-design Select全選功能

效果一

完整代碼

import { useEffect, useState, useRef } from 'react'
import { Button, message, Select, Checkbox } from 'antd'
import ProTable from '@ant-design/pro-table';
 
const { Option } = Select;
 
const initialParams = {
  tradeWay: ['1', '2', '3', '4', '5']
}
 
const tradeList = [
  { label: '微信', value: '1' },
  { label: '支付寶', value: '2' },
  { label: '銀行卡', value: '3' },
  { label: '銀聯(lián)二維碼', value: '4' },
  { label: '數(shù)字貨幣', value: '5' }
]
 
const Index = () => {
  const formRef = useRef()
  const [selectState, setCheckStatus] = useState(true)
  const [selectList, setSelectList] = useState(['1', '2', '3', '4', '5'])
 
  const columns = [
    {
      title: '交易方式',
      dataIndex: 'tradeWay',
      width: 180,
      initialValue: ['1', '2', '3', '4', '5'],
      valueEnum: tradeValue,
      renderFormItem: () => (
        <Select
          mode="multiple"
          onChange={value => {
            setSelectList(value)
            if (formRef.current) {
              formRef.current.setFieldsValue({ tradeWay: value })
            }
          }}
          dropdownRender={allSelectValue => (
            <div>
              <div style={{ padding: '4px 8px 8px 8px', cursor: 'pointer' }}>
                <Checkbox
                  checked={selectState && selectList?.length === tradeList?.length}
                  onChange={e => {
                    if (e.target.checked === true) {
                      setCheckStatus(true) //選中時(shí) 給 checked 改變狀態(tài)
                      setSelectList(['1', '2', '3', '4', '5'])
                      // 當(dāng)選的時(shí)候 把所有列表值賦值給tradeWay
                      if (formRef.current) {
                        formRef.current.setFieldsValue({
                          tradeWay: tradeList?.map(item => item.value)
                        })
                      }
                    } else {
                      setCheckStatus(false)
                      setSelectList([])
                      if (formRef.current) {
                        formRef.current.setFieldsValue({ tradeWay: [] })
                      }
                    }
                  }}
                >
                  全部
                </Checkbox>
              </div>
              {/* Option 標(biāo)簽值 */}
              {allSelectValue}
            </div>
          )}
        >
          {tradeList?.map(item => (
            <Option key={item.value} value={item.value}>
              {item.label}
            </Option>
          ))}
        </Select>
      )
    },
  ]
 
  return (
      <ProTable
        formRef={formRef}
        rowKey="id"
        toolBarRender={null}
        onSubmit={...}
        onReset={...}
        manualRequest
        request={params => {
          ...
        }}
        columns={columns}
      />
  )
}
 
export default Index

效果二

import { Cascader } from 'antd';
 
//正常而言級聯(lián)選擇還存在children屬性,且值為Array格式
//我們只是想單純一列下拉多選帶勾選框,所以把children屬性去掉即可
const options = [
  {
    label: 'test1',
    value: 'test1', 
  },
  {
    label: 'test2',
    value: 'test2',
  },
  {
    label: 'test3',
    value: 'test3',
  },
];
 
const onChange = (value) => {
  console.log(value);
}
//然后直接使用就好了
 
<Cascader
    options={options}
    onChange={onChange}
    multiple
    allowClear
    maxTagCount={1} //表示只需要顯示一個(gè)Tag,可以不用此屬性
/>,

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解前端路由實(shí)現(xiàn)與react-router使用姿勢

    詳解前端路由實(shí)現(xiàn)與react-router使用姿勢

    本篇文章主要介紹了詳解前端路由和react-router使用姿勢,詳細(xì)的介紹了react-router的用法,有興趣的可以了解一下
    2017-08-08
  • 淺談React高階組件

    淺談React高階組件

    這篇文章主要介紹了淺談React高階組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解如何優(yōu)雅地在React項(xiàng)目中使用Redux

    詳解如何優(yōu)雅地在React項(xiàng)目中使用Redux

    這篇文章主要介紹了詳解如何優(yōu)雅地在React項(xiàng)目中使用Redux,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • React Hook 監(jiān)聽localStorage更新問題

    React Hook 監(jiān)聽localStorage更新問題

    這篇文章主要介紹了React Hook 監(jiān)聽localStorage更新問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • React18+TS通用后臺管理系統(tǒng)解決方案落地實(shí)戰(zhàn)示例

    React18+TS通用后臺管理系統(tǒng)解決方案落地實(shí)戰(zhàn)示例

    這篇文章主要為大家介紹了React18+TS通用后臺管理系統(tǒng)解決方案落地實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • react ant design樣式覆蓋問題

    react ant design樣式覆蓋問題

    這篇文章主要介紹了react ant design樣式覆蓋問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • react無限滾動組件的實(shí)現(xiàn)示例

    react無限滾動組件的實(shí)現(xiàn)示例

    本文主要介紹了react無限滾動組件的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 解析React中useMemo與useCallback的區(qū)別

    解析React中useMemo與useCallback的區(qū)別

    這篇文章主要介紹了React中useMemo與useCallback的區(qū)別,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • React中 Zustand狀態(tài)管理庫的使用詳解

    React中 Zustand狀態(tài)管理庫的使用詳解

    Zustand?是一個(gè)非常輕量、簡潔的狀態(tài)管理庫,旨在為 React 提供簡便且高效的狀態(tài)管理,相比于 Redux 或 Context API,Zustand 具有更簡潔、靈活和易于理解的優(yōu)點(diǎn),感興趣的朋友一起看看吧
    2024-12-12
  • react嵌套路由實(shí)現(xiàn)TabBar的實(shí)現(xiàn)

    react嵌套路由實(shí)現(xiàn)TabBar的實(shí)現(xiàn)

    本文主要介紹了react嵌套路由實(shí)現(xiàn)TabBar的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評論

滦南县| 微山县| 金乡县| 遂昌县| 隆回县| 蕲春县| 凤冈县| 肇庆市| 手机| 温州市| 舟山市| 开鲁县| 公主岭市| 邯郸市| 共和县| 扎囊县| 定安县| 云安县| 浦县| 偃师市| 金湖县| 蒙自县| 象山县| 雷山县| 新建县| 长阳| 监利县| 吉水县| 札达县| 邳州市| 桂平市| 娱乐| 政和县| 龙里县| 汉沽区| 江西省| 西乌珠穆沁旗| 邯郸县| 灌南县| 彭山县| 永寿县|