element-plus中的Cascader 级联选择器,使用tooltip组件预览内容
时间: 2023-08-20 09:35:07 浏览: 268
使用element中el-cascader级联选择器:实现省市区街道筛选、动态懒加载以及回显
对于element-plus中的Cascader级联选择器,使用Tooltip组件预览内容可以如下实现:
首先,在需要展示Tooltip的地方,使用`el-tooltip`组件包裹需要预览的内容,设置`content`属性为预览的内容,`disabled`属性为false(默认为true,需要手动设置为false才能生效),`effect`属性为`dark`或者`light`(根据UI风格选择),其余属性可根据需求自行设置。
然后,在Cascader组件上,使用`slot-scope`自定义模板,在需要展示的地方,使用`el-tooltip`组件包裹需要预览的内容,设置`content`属性为预览的内容,`disabled`属性为false(默认为true,需要手动设置为false才能生效),`effect`属性为`dark`或者`light`(根据UI风格选择),其余属性可根据需求自行设置。
示例代码如下:
```html
<template>
<el-cascader
v-model="selectedOptions"
:options="options"
:props="props"
@change="handleChange"
:filterable="true"
:clearable="true"
:show-all-levels="false"
:expand-trigger="expandTrigger"
:change-on-select="changeOnSelect"
>
<template #default="{ labels, selectedOptions }">
<el-tooltip
class="item"
effect="dark"
:disabled="!labels || labels.length === 0"
:content="labels.join(' / ')"
>
<span class="el-cascader__label">{{ labels[labels.length - 1] }}</span>
</el-tooltip>
</template>
<template #expand="{ index, data }">
<el-tooltip
v-for="item in data"
:key="item.value"
class="item"
effect="light"
:content="item.label"
:disabled="!item.label"
>
<span class="el-cascader-menu__item" @click="handleItemClick(index, item)">
{{ item.label }}
</span>
</el-tooltip>
</template>
</el-cascader>
</template>
```
注意事项:
1. `el-tooltip`组件必须设置`disabled`属性为`false`,否则会导致搜索框无法输入。
2. `el-tooltip`组件的`content`属性可以为任何类型的值,可以是字符串、数字、HTML标签等。
3. `el-tooltip`组件的`effect`属性可选值有`dark`和`light`,根据UI风格选择。
4. `el-cascader`组件的`expand-trigger`属性可选值有`click`和`hover`,根据需求选择。
5. `el-cascader`组件的`change-on-select`属性可选值有`true`和`false`,根据需求选择。
阅读全文