作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Vue.js 的新手,我希望在你的帮助下理解作用域插槽......
我想优化我的代码,只有当标签超过 10 个字符(或任何其他条件)时,工具提示才能在悬停时可见。
这有效,但没有优化:
<v-btn>
<v-tooltip right v-if="slot.label.length > 20">
<template v-slot:activator="{on}">
<span class="text-truncate ml-1 mr-1" v-on="on">
{{slot.label}}
</span>
</template>
<span>{{slot.label}}</span>
</v-tooltip>
<span v-else class="text-truncate ml-1 mr-1">
{{slot.label}}
</span>
</v-btn>
最佳答案
我认为在不重复的情况下达到预期效果的最简单方法是使用 disabled
v-tooltip
的 Prop .
new Vue({
el: '#app',
data () {
return {
slot: {
label: 'Label'
}
}
}
})
<link rel="stylesheet" href="https://unpkg.com/vuetify@1.5.16/dist/vuetify.css">
<script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
<script src="https://unpkg.com/vuetify@1.5.16/dist/vuetify.js"></script>
<div id="app">
<v-app>
<v-btn>
<v-tooltip right :disabled="slot.label.length < 10">
<template v-slot:activator="{on}">
<span class="text-truncate ml-1 mr-1" v-on="on">
Button: {{ slot.label }}
</span>
</template>
<span>Tooltip: {{ slot.label }}</span>
</v-tooltip>
</v-btn>
<v-btn @click="slot.label = 'Label'">Short</v-btn>
<v-btn @click="slot.label = 'Label label'">Long</v-btn>
</v-app>
</div>
render
功能。这将允许您准确地编写您想要的内容而无需任何重复,但代价是需要维护
render
功能。
关于vue.js - Vuetify : show tooltip with a condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984620/
我是一名优秀的程序员,十分优秀!