当前位置: 首页 > news >正文

Naive UI 级联选择器 Cascader的:render-lable怎么使用(Vue3 + TS)(鼠标悬停该条数据的时候展示全部内容)

项目场景:

在渲染Cascader级联选择器后,当文字过长的时候,多出来的部分会显示成省略号,这使我们不能很清晰的看到该条数据的完整信息,就需要加一个鼠标悬停展示完整内容。


解决方案:

vue:

<n-cascader clearable v-model:value="unit" placeholder="所属地市" :title="unit" :options="options" check-strategy="child" @update-value="handleUpdateValue" :render-label="renderlabel" />

js:

const unit = ref<string>()
const options = ref<CascaderOption[]>([{"value": "1","label": "选项1","disabled": false,"children": [{"value": "1-1","label": "子选项1-1","disabled": false,"children": [{"value": "1-1-1","label": "孙选项1-1-1","disabled": false}]}]},{"value": "2","label": "选项2","disabled": true,"children": [{"value": "2-1","label": "子选项2-1","disabled": false}])
//这里其实就是创建了虚拟节点,这里就不赘述了,可以看前两篇笔记,有详细的解释
//这里解释一下 placement: 'left-end'  为什么可以在这里加这句话
//是因为Naive的 弹出提示 Tooltip组件支持placement属性,即popover 的弹出位置,
//我们这里是创建了一个NTooltip弹出提示的虚拟节点,传入的属性必须是这个NTooltip组件支持的属性才可以生效,
//换句话说就是h创建虚拟DOM的第二个参数设置的属性是传递给组件的,
const renderlabel = (option: { value?: string | number, label?: string }) => {return h(NTooltip, {placement: 'left-end'}, {trigger: () => h('span', option.label),default: () => {return h('span', {style: {color: '#526ade',}}, option.label as string)},})
}
const handleUpdateValue = function (value: string, option: CascaderProps) {}

总结来说,renderLabel 函数创建了一个带有提示的标签,当用户将鼠标悬停在标签上时,会显示一个提示框,提示框的内容和标签文本相同,但颜色可能会根据主题的不同而变化。这个函数通常用于下拉选择框组件中,为每个选项提供一个带有提示的标签。

http://www.lryc.cn/news/475605.html

相关文章:

  • vue元素里面的 js对象中,:style后面里属性名不支持这种带-的写法(background-color)
  • Git 常用命令与开发流程总结
  • 链表中插入新的节点
  • AUTOSAR从入门到精通-BswM模块(二)
  • Spring DispatcherServlet详解
  • JS | 软件制作的流程是什么?
  • 简单工厂模式
  • 【django】Django REST Framework 序列化与反序列化详解
  • 【Golang】Golang的Map的线程安全问题
  • 指向指针的指针+ 值传递的理解
  • CSS常用定位
  • 【Linux】从零开始使用多路转接IO --- select
  • ArcGIS Pro SDK (二十一)渲染
  • FPGA在物联网边缘计算中的应用!!!
  • 【解决】Linux环境中mysqlclient安装失败问题
  • ✨ Midjourney中文版:创意启航,绘梦无界 ✨
  • 软件(1)
  • linux perf 环境部署和基本测试(基于Ubuntu20.04)
  • 【网络面试篇】HTTP(1)(笔记)——状态码、字段、GET、POST、缓存
  • HTML 基础标签——分组标签 <div>、<span> 和基础语义容器
  • SS928V100 ISP常见问题列表
  • AI写诗:自动版大唐宫体诗
  • Java复习31(PTA)
  • 【Linux系列】Linux 系统中的软连接管理
  • @layer(级联层)
  • nginx代理websocket服务
  • 第二十七章 Vue异步更新之$nextTick
  • 【51 Pandas+Pyecharts | 深圳市共享单车数据分析可视化】
  • 【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
  • 线程相关题(线程池、线程使用、核心线程数的设置)