前端小功能:React,鼠標多選功能


前端小功能:React,鼠標多選功能。

一般列表都有選擇功能,單選復選多選都很常見。在自定義循環的列表,圖像中,實現鼠標單選,多選,反選功能。

# React mousemultiples
# React 鼠標多選組件

React 鼠標多選組件
 
局限性
> 主要實現鼠標多選的效果, 在不破壞原有的列表情況下,嵌入組件擁有鼠標多選功能。
 
npm包地址 [鏈接](https://www.npmjs.com/package/mousemultiples)
安裝 
 
npm i mousemultiples
 
使用配置項
/**
 * wrapperScroll?: any, // 滾動單位'ID';
 * 
 * itemClass: string,  // 列表框通用攜帶 class
 * 
 * activeClass?: string, // 列表框 選中class
 * 
 * isDataChange: any,  // 渲染的數組,檢測數據更改
 * 
 * activePosition?: any,  // 主動選中數據
 * 
 * onSelected: (pos: any, item: any, data: any) => void, // 拖動
 * 
 * onSingleSelected?: (pos: any, item: any, data: any) => void, // 單擊
 * 
 * 注:itemClass 與 children 循環box className必須攜帶一致,同box必須綁定data-position,data-position導出選中的唯一識別
 * 注:帶問號為可選項,否則都是必填項。
 */

 


 > 操作說明:
> 鼠標點擊,單選
> Ctrl + 鼠標點擊,多選,復選,反選
> Ctrl + a 全選
> 鼠標拖動,范圍多選

 示例:
 
<MouseMultiples
    wrapperScroll="classify-img_body"
    itemClass='selection_box'
    activeClass='selection_box-active'
    activePosition={activePosition}
    onSelected={selected}
    isDataChange={imageLists}
>
    {imageLists.map(item => {
        return (
            <div 
            className="selection_box" 
            data-position={item.FileId}
            >
                <div className="listImage"><img src={ item.FileUrl } /></div>
            </div>
        )
    })}
</MouseMultiples>
> 說明:

> children 自定義設計,樣式,格子,選中效果等.

> 導入組件直接包裹已經設計好的列表即可,確保className和itemClass一致,確保導入data-position,和activeClass是否存在高亮樣式。。。

 

 

沒有終點,沒有彼岸,堅持就好,願歲月如初


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM