可以看到框中只显示一项,后面选择的直接加一了再选依次增加,我怎么改才能根据框的长度,显示2项或者3项后,之后再选才是加一
el select开启collapse-tags属性怎么优化,比如不是默认显示一项后加一而是现实两项后再选择加一
可以看到框中只显示一项,后面选择的直接加一了再选依次增加,我怎么改才能根据框的长度,显示2项或者3项后,之后再选才是加一
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
7条回答 默认 最新
- LW_STAR 2023-04-04 08:16关注
您可以使用自定义的Vue组件代替el-select组件,并通过自定义的方式实现所需功能。以下是一个可能的解决方案:
- 创建一个自定义的Select组件,用于替代el-select组件,并扩展一个collapse-tags属性,初始值为false。
<template> <el-select v-model="currentValue" v-bind="$attrs" v-on="$listeners" multiple filterable reserve-keyword :collapse-tags="collapseTags" > <slot></slot> </el-select> </template> <script> export default { name: 'CustomSelect', model: { prop: 'value', event: 'change' }, props: { value: { type: [String, Number, Array], default: '' }, collapseTags: { type: Boolean, default: false } }, data() { return { currentValue: this.value } }, watch: { value(newValue) { this.currentValue = newValue }, currentValue(newValue) { this.$emit('change', newValue) } } } </script>
- 在父组件中使用自定义的Select组件,并根据需要将collapse-tags属性设为true或false,以控制标签的折叠效果。
<template> <div> <custom-select v-model="selected" :collapse-tags="collapseTags" > <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" ></el-option> </custom-select> <el-checkbox v-model="collapseTags">Collapse tags every two items</el-checkbox> </div> </template> <script> import CustomSelect from './CustomSelect' export default { components: { CustomSelect }, data() { return { selected: [], options: [ { label: 'Option 1', value: 'option1' }, { label: 'Option 2', value: 'option2' }, { label: 'Option 3', value: 'option3' }, { label: 'Option 4', value: 'option4' }, { label: 'Option 5', value: 'option5' } ], collapseTags: false } }, watch: { selected(newValue, oldValue) { if (this.collapseTags && newValue.length % 2 === && oldValue.length < newValue.length) { newValue.splice(newValue.length - 2, 1) } } } } </script>
在上述示例中,我们使用自定义的CustomSelect组件代替了el-select组件,并扩展了一个collapseTags属性,用于控制标签的折叠效果。同时,在父组件中添加了一个el-checkbox组件,用于切换collapseTags属性的值。
值得注意的是,在selected属性发生变化(即用户选择或取消某个选项)时,父组件会监视selected属性的变化,并在collapseTags为true且选项总数为偶数时,在最后两个选项之间切换。这样,每选择两个选项,就会折叠一次标签。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 wpf datagrid如何实现多层表头
- ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
- ¥20 网站后台使用极速模式非常的卡
- ¥20 Keil uVision5创建project没反应
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程