Naive UI 多选框自定义tag和label

server/2024/12/27 18:41:27/

 Naive UI 的多选框可使用render-label和render-tag自定义下拉框的样式和选中后标签的样式。具体代码如下:

<script setup lang="ts">import { CascaderOption, NCheckbox, SelectRenderLabel, SelectRenderTag } from 'naive-ui'const renderLabel: SelectRenderLabel = (option: any, selected: Boolean) =>h('div',null,{default: () => [h(NCheckbox,{ value: option.value as string, label: option.label as string, checked: selected},{ default: () => option.value }),],})const renderTag: SelectRenderTag = ({ option, handleClose }) => h(NTag,{class: 'multiple-tag',closable: true,bordered: false,onMousedown: (e: FocusEvent) => {e.preventDefault()},onClose: (e: MouseEvent) => {e.stopPropagation()handleClose()}},{ default: () => option.label })const handleUpdateValue = (value: string, option: CascaderOption) => {console.log(value, option)}const selectOptions = ref([{label: "Everybody's Got Something to Hide Except Me and My Monkey",value: 'song0',},{label: 'Drive My Car',value: 'song1'},{label: 'Norwegian Wood',value: 'song2'},{label: "You Won't See",value: 'song3',},{label: 'Nowhere Man',value: 'song4'},{label: 'Think For Yourself',value: 'song5'},{label: 'The Word',value: 'song6'},{label: 'Michelle',value: 'song7',},{label: 'What goes on',value: 'song8'},{label: 'Girl',value: 'song9'},{label: "I'm looking through you",value: 'song10'},{label: 'In My Life',value: 'song11'},{label: 'Wait',value: 'song12'}])const selectValue = ref([])const selectCheckValue = ref([])
</script><template><n-space><n-select class="cascader-div" v-model:value="selectValue" :show-checkmark = "false" :options="selectOptions" /><n-selectclass="cascader-div"v-model:value="selectCheckValue":options="selectOptions"placeholder="请输入"filterablemultipleclearable:show-checkmark = "false":render-label = "renderLabel":render-tag = "renderTag"@update:value="handleUpdateValue"/></n-space>
</template><style scoped lang="scss">
.cascader-div {width: 200px;
}
</style>


http://www.ppmy.cn/server/153690.html

相关文章

基础组件:

基础组件&#xff1a; RichText 富文本组件&#xff0c;解析并显示HTML格式文本。 适用场景&#xff1a; RichText组件适用于加载与显示一段HTML字符串&#xff0c;且不需要对显示效果进行较多自定义的应用场景。RichText组件仅支持有限的通用属性和事件。具体见属性与事件…

如何在 Ubuntu 22.04 上安装以及使用 MongoDB

简介 MongoDB 因其灵活性、可扩展性、性能和生态系统而受到开发人员的青睐&#xff0c;这些都是构建和驱动现代应用程序的关键能力。通过几个配置步骤&#xff0c;你就可以在你的 Ubuntu 22.04 LTS 机器上安装 MongoDB&#xff0c;这是 Ubuntu Linux 发行版的最新长期支持版本…

CSS系列(33)-- Perspective详解

前端技术探索系列&#xff1a;CSS Perspective详解 &#x1f3b2; 致读者&#xff1a;探索3D空间的艺术 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS Perspective&#xff0c;这个强大的3D透视特性。 基础概念 &#x1f680; 透视设置 /* 基础透视 *…

21天掌握JavaWeb - 第17天:前端页面开发与集成测试

目标 在本章节中&#xff0c;我们将学习如何根据后端API编写前端页面&#xff0c;并进行集成测试以确保前后端功能正常。 前端页面开发 核心概念 前端页面开发通常涉及HTML、CSS和JavaScript的使用&#xff0c;以构建用户界面和交互逻辑。 优势 用户体验&#xff1a;良好…

【git】配置ssh代理

git 配置ssh代理 ssh 访问时,配置了http代理,不管用 可以切换为http clone, 或者要对ssh配置代理。 测试gitlab网络 出现此错误表明在克隆代码仓库时遇到了网络连接或权限问题。以下是解决步骤: 检查网络连接 Ping 测试:在命令行中执行:ping gitlab.myweb.com 检查是否可…

黑马Java面试教程_P9_JVM虚拟机

系列博客目录 文章目录 系列博客目录前言1. JVM组成1.1 JVM由那些部分组成&#xff0c;运行流程是什么&#xff1f;3 41.2 什么是程序计数器&#xff1f;3 4总结 1.3 你能给我详细的介绍Java堆吗? 3 4总结 1.4 什么是虚拟机栈 3 4总结 1.6 能不能解释一下方法区&#xff1f; 3…

OpenEuler22.04配置zookeeper+kafka三节点集群

OpenEuler22.04配置zookeeperkafka三节点集群 1. 基础环境2. 部署zookeeper集群2.1 下载、解压2.2 配置2.3 配置zookeeper服务 3. 配置kafka集群3.1 下载解压3.2 配置3.3 配置服务3.4 kafka常用命令 4. 其它 感觉OpenEuler的操作方式跟centos区别不大&#xff0c;下面的操作在c…

【理解机器学习中的过拟合与欠拟合】

在机器学习中&#xff0c;模型的表现很大程度上取决于我们如何平衡“过拟合”和“欠拟合”。本文通过理论介绍和代码演示&#xff0c;详细解析过拟合与欠拟合现象&#xff0c;并提出应对策略。主要内容如下&#xff1a; 什么是过拟合和欠拟合&#xff1f; 如何防止过拟合和欠拟…