vue.js - Vuetify - 如何在滑块刻度标签中添加 html
问题描述
我在我的 vue 应用程序中使用 Vuetify,需要在我的刻度标签中提供 HTML 标签,我检查了 Vuetify 文档,但发现它接受字符串,如果我们传递 HTML,它会将其呈现为字符串。有没有办法可以在刻度标签中注入 HTML。这是我尝试过的:
Codepen 链接在这里:https ://codepen.io/vishalgulati/pen/gOYyMza?&editable=true&editors=101
<div id="app">
<v-app id="inspire">
<v-card flat color="transparent">
<v-subheader>Tick labels</v-subheader>
<v-card-text>
<v-slider
v-model="fruits"
:tick-labels="ticksLabels"
:max="3"
step="1"
ticks="always"
tick-size="2"
></v-slider>
</v-card-text>
</v-card>
</v-app>
</div>
new Vue({
el: '#app',
data () {
return {
value: 0,
fruits: 0,
ticksLabels: [
'<span> </span>',
'',
'Pear',
'Apple'
]
}
}
})
解决方案
为拇指标签使用模板槽。在他们的文件中找到:
<div id="app">
<v-app id="inspire">
<v-row>
<v-col class="pa-12">
<v-range-slider
:tick-labels="seasons"
:value="[0, 1]"
min="0"
max="3"
ticks="always"
tick-size="4"
>
<template v-slot:thumb-label="props">
<v-icon dark>
{{ season(props.value) }}
</v-icon>
</template>
</v-range-slider>
</v-col>
</v-row>
</v-app>
</div>
...
data: () => ({
seasons: [
'Winter',
'Spring',
'Summer',
'Fall',
],
icons: [
'mdi-snowflake',
'mdi-leaf',
'mdi-fire',
'mdi-water',
],
}),
methods: {
season (val) {
return this.icons[val]
},
},
})
来源:https: //vuetifyjs.com/en/components/sliders#custom-range-slider 代码笔:https ://codepen.io/pen/?&editable=true&editors=101
推荐阅读
- mysql - 如何在 MacOS 上卸载 Mysql Shell
- google-compute-engine - curl / wget failed 连接超时错误
- freepascal - 必须将类构造函数变量分配给私有类变量还是代码密集程度较低的方法?
- c++ - C 编程语言等效于 C++ 中的结构初始化
- kubernetes - Kubernetes 指标的 Prometheus Adapter 配置
- linux - 重命名目录中的所有文件
- python - 为什么这两种 dfs 实现会给出不同的结果?
- php - 覆盖 FormRequest 的 failedValidation 方法时,Laravel 6 自定义验证错误“类不存在”
- node.js - 执行节点而不安装
- python - 特征编码、特征选择和归一化的顺序