• vue element plus Virtualized Select 虚拟化选择器


    TIP

    这个组件目前在测试当中,如果在使用中发现任何漏洞和问题,请在 GitHub 中提交 issue 以便我们进行处理。

    TIP

    SSR 场景下,您需要将组件包裹在  之中 (如: Nuxt) 和 SSG (例如: VitePress).

    背景#

    在某些使用情况下,单个选择器可能最终加载数万行数据。 将这么多的数据渲染至 DOM 中可能会给浏览器带来负担,从而造成性能问题。 为了更好的用户和开发者体验,我们决定添加此组件。

    基础用法#

    适用广泛的基础选择器

    Please select

    Please select

    Please select

    多选#

    最基础的多选选择器

    Please select

    隐藏多余标签的多选#

    默认情况下选中值会以 Tag 的形式展现,你也可以设置collapse-tags属性将它们合并为一段文字。 您可以使用 collapse-tags-tooltip 属性来启用鼠标悬停折叠文字以显示具体所选值的行为。

    use collapse-tags

    Please select

    use collapse-tags-tooltip

    Please select

    use max-collapse-tags

    Please select

    可过滤的多选#

    当选项太多时,你可以使用 filterable 选项来启用过滤功能来找到所需的选项。

    Please select

    禁用选择器本身或选项#

    您可以选择禁用 Select 或者 Select 中的某个选项。

    Please select

    Please select

    给选项进行分组#

    只要数据格式满足特定要求,我们就可以按照自己的意愿为选项进行分组。

    Please select

    自定义选项的渲染模板#

    我们也可以通过自定义模板来渲染自己想要的选项内容。

    Please select

    一键清除#

    我们可以同时清除所有选定的选项。此设定也适用于单选。

    Please select

    Please select

    创建临时选项#

    创建并选中未包含在初始选项中的条目。

    通过使用 allow-create 属性,用户可以通过输入框创建新项目。 为了使 allow-create 正常工作, filterable 的值必须为 true

    TIP

    最好在使用 allow-create 属性的同时设置 :reserve-keyword="false"

    Please select

    Please select

    set reserve-keyword false

    Please select

    远程搜索#

    输入关键字以从远程服务器中查找数据。

    从服务器搜索数据,输入关键字进行查找。为了启用远程搜索,需要将filterableremote设置为true,同时传入一个remote-method。 remote-method为一个Function,它会在输入值发生变化时调用,参数为当前输入值。

    Please enter a keyword

    使用 value-key 键属性#

    当 options.value 是一个对象时,您应该为它设置一个唯一的标识名称

    TIP

    在 2.4.0 之前,value-key既用作所选对象的唯一值,也用作options中表示值的对应 key。 现在 value-key 仅作为所选对象的唯一值使用,选项中值的 key 是 props.value.

    a0

    自定义选项2.4.2#

    当您的 options 格式不同于默认格式 您可以通过 props 属性自定义 options

    Please select

    自定义标签2.5.0#

    您可以自定义标签。

    将自定义的标签插入 el-select 的 slot 中即可。 collapse-tagscollapse-tags-tooltipmax-collapse-tags 在此模式下不生效.

    SelectV2 属性#

    属性名说明类型默认值
    model-value / v-model绑定值string / number / boolean / object / array
    options选项的数据源, value 的 key 和 label 可以通过 props自定义.array
    props 2.4.2配置选项,具体看下表object
    multiple是否多选booleanfalse
    disabled是否禁用booleanfalse
    value-key作为 value 唯一标识的键名,绑定值为对象类型时必填stringvalue
    size组件大小enum
    clearable是否可以清空选项booleanfalse
    clear-icon自定义清除图标string / objectCircleClose
    collapse-tags多选时是否将选中值按文字的形式展示booleanfalse
    multiple-limit多选时可被选择的最大数目。 当被设置为0时,可被选择的数目不设限。number0
    name选择器的原生name属性string
    effecttooltip 主题,内置了 dark / light 两种enum / stringlight
    autocomplete自动完成选择输入stringoff
    placeholderplaceholderstringPlease select
    filterable是否可筛选booleanfalse
    allow-create是否允许创建新条目, 当使用该属性时,filterable必须设置为truebooleanfalse
    filter-method自定义筛选方法Function
    loading是否从远程加载数据booleanfalse
    loading-text从服务器加载数据时显示的文本,默认为“Loading”string
    reserve-keyword筛选时,是否在选择选项后保留关键字booleantrue
    no-match-text搜索条件无匹配时显示的文字,也可以使用 empty 插槽设置,默认是 “No matching data'”string
    no-data-text当在没有数据时显示的文字,你同时可以使用empty插槽进行设置。stringNo Data
    popper-class选择器下拉菜单的自定义类名string
    popper-append-to-body deprecated是否将弹出框插入至 body 元素 当弹出框的位置出现问题时,你可以尝试将该属性设置为false。booleanfalse
    teleported是否将下拉列表元素插入 append-to 指向的元素下booleantrue
    persistent当下拉选择器未被激活并且persistent设置为false,选择器会被删除。booleantrue
    popper-optionspopper.js parametersobjectrefer to popper.js doc{}
    automatic-dropdown对于不可搜索的 Select,是否在输入框获得焦点后自动弹出选项菜单booleanfalse
    height下拉菜单的高度,每一个选项为34pxnumber274
    item-height下拉项的高度number34
    scrollbar-always-on是否总是展示滚动条booleanfalse
    remote是否从服务器获取数据booleanfalse
    remote-method当输入值发生变化时触发的函数。 它的参数就是当前的输入值。 当filterable设置为 true 时才会生效Function
    validate-event是否触发表单验证booleantrue
    placement下拉框出现的位置enumbottom-start
    collapse-tags-tooltip 2.3.0当鼠标悬停于折叠标签的文本时,是否显示所有选中的标签。 只有当 collapse-tags 设置为 true 时才会生效。booleanfalse
    max-collapse-tags 2.3.0需要显示的 Tag 的最大数量 只有当 collapse-tags 设置为 true 时才会生效。number1
    tag-type 2.5.0标签类型enuminfo
    aria-label a11y 2.5.0等价于原生 input aria-label 属性string

    props#

    Attribute说明TypeDefault
    value指定选项的值为选项对象的某个属性值stringvalue
    label指定节点标签为节点对象的某个属性值stringlabel
    options指定选项的子选项为选项对象的某个属性值stringoptions
    disabled指定选项的禁用为选项对象的某个属性值stringdisabled

    SelectV2 事件#

    插槽名说明参数
    change选中值发生变化时触发Function
    visible-change下拉框出现/隐藏时触发Function
    remove-tag多选模式下移除tag时触发Function
    clear可清空的单选模式下用户点击清空按钮时触发Function
    blur当选择器的输入框失去焦点时触发Function
    focus当选择器的输入框获得焦点时触发Function

    SelectV2 插槽#

    名称详情
    default自定义 Option 模板
    empty自定义当选项为空时的内容
    prefix输入框的前缀
    tag 2.5.0select 组件自定义标签内容

    Select Exposes#

    方法描述类型
    focus使选择器的输入框获取焦点Function
    blur使选择器的输入框失去焦点,并隐藏下拉框Function

    源代码#

    组件 • 文档

  • 相关阅读:
    私有化部署大模型:5个.Net开源项目
    (四)TensorRT | 基于 GPU 端的 Python 推理
    easyExcel的导入
    四、MyBatis-Plus 查询
    DamiBus v0.51 发布
    Unity渲染顺序相关学习
    Vue中如何实现动态改变字体大小
    在全新ubuntu上用gpu训练paddleocr模型遇到的坑与解决办法
    从零开始学HCIA之IPv6基础04
    (一) 使用 Hugo 搭建个人博客保姆级教程(上篇)
  • 原文地址:https://blog.csdn.net/m0_72196169/article/details/135514702