基于el-cascader级联选择器实现只有最后一级可以多选(已发布到npm & github)

基于,el,cascader,级联,选择器,实现,只有,最后,一级,可以,发布,npm,github · 浏览次数 : 440

小编点评

## El Cascader Optimization for Multiple Backgrounds This document describes an optimization of the Element UI multiple background select component to allow selection of the last level and preserve the original functionality. **Overview:** * Multiple background selection is commonly used, but Element UI's multi-select component only allows selection of the last level. * This project aims to address this limitation by optimizing the component to support multiple backgrounds while maintaining the component's core functionality. **Key Points:** * The component will support multi-background selection. * The original selection behavior will be preserved. * The optimization focuses on achieving this while maintaining maintainability and preserving the component's core functionality. **Implementation:** * The component will be updated to use a custom `render` method. * The `render` method will handle the background selection logic and render the components accordingly. * The component will maintain its original props and functionality. **Optimization Goals:** * Allow multi-background selection. * Preserve the ability to select only the last item. * Maintain the component's core functionality and maintainability. **Additional Notes:** * The component currently supports the following props: * `visibleData` (array): Selected data for the component. * `expandTrigger` (string): Event that triggers sub-menu expansion. * `popperClass` (string): CSS class for the popover. * `props` (object): Configuration object for the component. * These props are the only supported props at the moment. * Some Element UI methods may require further optimization or testing. **Future Improvements:** * Consider implementing a custom `multiple` component that extends the base component. * Explore adding a toggle or checkbox for additional control over selection. * Address any known issues with other Element UI methods. **Conclusion:** By implementing these optimizations, we aim to create a more flexible and efficient multiple background select component that meets the requirements of modern web design and development.

正文

github地址:https://github.com/heyu3913/el-cascader-onlylast-mutiple

背景:

我们经常级联合选择器多选的需求,但是element UI提供的级联选择器并不能只多选最后一级,所以我考虑基于element UI的级联选择器优化一下,实现可以多选最后一级,并且尽量可以保留级联选择器原有功能。

DEMO地址:

https://heyu3913.github.io/el-cascader-onlylast-mutiple/dist/index.html (开梯子访问)

使用方法:

  下载依赖
  npm i el-cascader-onlylast-mutiple -S
  引入依赖
  import Cascader from  'el-cascader-onlylast-mutiple'
  使用依赖 具体可看本项目中App.vue
   <Cascader></Cascader>

参数:

参数 说明 类型 可选值 默认值
visibleData 选中项绑定值 array - -
options 可选项数据源,键名可通过 Props 属性配置 array
size 尺寸 string medium / small / mini
placeholder 输入框占位文本 string - 请选择
disabled 是否禁用 boolean - false
clearable 是否支持清空选项 boolean - false
showAllLevels 输入框中是否显示选中值的完整路径 boolean - false
collapseTags 多选模式下是否折叠Tag boolean - false
popperClass 自定义浮层类名 string - -
props 配置选项,具体见下表 object - -

props配置选项

参数 说明 类型 可选值 默认值
expandTrigger 次级菜单的展开方式 string click / hover 'click'
value 指定选项的值为选项对象的某个属性值 string 'value'
label 指定选项标签为选项对象的某个属性值 string 'label'
children 指定选项的子选项为选项对象的某个属性值 string 'children'
disabled 指定选项的禁用为选项对象的某个属性值 string 'disabled'

事件:

事件名称 说明 回调参数
change 当选中节点变化时触发 选中节点的值

tips:

目前只兼容了以上属性与方法,别的element中原有的方法并没有测试过,可能会出现意想不到的错误。如果有需求可以联系我 vx: iverson96i

更新:更加优雅的解决方案

点击查看

与基于el-cascader级联选择器实现只有最后一级可以多选(已发布到npm & github)相似的内容:

基于el-cascader级联选择器实现只有最后一级可以多选(已发布到npm & github)

#### github地址:[https://github.com/heyu3913/el-cascader-onlylast-mutiple](https://github.com/heyu3913/el-cascader-onlylast-mutiple) ## 背景: ### 我们经常级联合选

element-ui源码修改记录

## 1、介绍 本项目是基于element-ui@2.15.14的基础上,二次修改源码,封装的ui组件,在此特别感谢[elemen-ui组件库](https://github.com/ElemeFE/element) ## 2、更新功能 ### 2.1在el-cascader组件的基础上,添加了只多

基于el-input实现数字区间输入框(已发布npm/github)

项目地址:https://github.com/heyu3913/InputNumberRange (求star) input-number-range tips:更多定制化需求请联系: 1310217042@qq.com / vx:iverson96i 背景: 在开发时遇到一个数字区间输入框的需求

基于 Three.js 的 3D 模型加载优化

作为一个3D的项目,从用户打开页面到最终模型的渲染加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能的降低loading的时间。这里就分享一些我们在模型加载优化方面的心得。

基于MindSpore实现BERT对话情绪识别

本文分享自华为云社区《【昇思25天学习打卡营打卡指南-第二十四天】基于 MindSpore 实现 BERT 对话情绪识别》,作者:JeffDing。 模型简介 BERT全称是来自变换器的双向编码器表征量(Bidirectional Encoder Representations from Trans

基于 Vagrant 手动部署多个 Redis Server

环境准备 宿主机环境:Windows 10 虚拟机环境:Vagrant + VirtualBox Vagrantfile 配置 首先,我们需要编写一个 Vagrantfile 来定义我们的虚拟机配置。假设已经在 D:\Vagrant\redis 目录下创建了一个 Vagrantfile,其内容如下:

基于EF Core存储的Serilog持久化服务

前言 Serilog是 .NET 上的一个原生结构化高性能日志库,这个库能实现一些比内置库更高度的定制。日志持久化是其中一个非常重要的功能,生产环境通常很难挂接调试器或者某些bug的触发条件很奇怪。为了在脱离调试环境的情况下尽可能保留更多线索来辅助解决生产问题,持久化的日志就显得很重要了。目前Ser

基于EF Core存储的国际化服务

前言 .NET 官方有一个用来管理国际化资源的扩展包Microsoft.Extensions.Localization,ASP.NET Core也用这个来实现国际化功能。但是这个包的翻译数据是使用resx资源文件来管理的,这就意味着无法动态管理。虽然官方有在文档中提供了一些第三方管理方案,但是都不太

基于FileZilla上传、下载服务器数据的方法

本文介绍FileZilla软件的下载、配置与使用方法。 在之前的博客中,我们提到了下载高分遥感影像数据需要用到FTP(文件传输协议,File Transfer Protocol)软件FileZilla;这一软件用以在自己的电脑与服务器之间相互传输数据,在进行下载科学数据、网站开发等等操作时,经常需要

Vite5+Electron聊天室|electron31跨平台仿微信EXE客户端|vue3聊天程序

基于electron31+vite5+pinia2跨端仿微信Exe聊天应用ViteElectronChat。 electron31-vite5-chat原创研发vite5+electron31+pinia2+element-plus跨平台实战仿微信客户端聊天应用。实现了聊天、联系人、收藏、朋友圈/短