我正在查看 vues 页面上的教程以添加工具提示。 https://vuetifyjs.com/en/components/tooltips
对于单个按钮来说似乎工作得很好。
但是,它在 v-item 中不起作用。我收到一条控制台消息,内容为
'[Vuetify] v-item is missing a default scopedSlot'
<v-item v-for="foo in bars" :key=`${foo}`>
<v-tooltip>
<v-btn slot="activator">
<v-icon>some-icon</v-icon>
</v-btn>
<span>Some tooltip text</span>
</v-tooltip>
</v-item>
我尝试在上面的代码中添加一些内容,例如将 slot="activator"添加到 v-item 并将 slot-scope="activator"添加到 v-btn,但似乎没有任何效果完全正确。关于我做错了什么有什么建议吗?
由@BoussadjraBrahim 添加的运行片段:
new Vue({
el: '#app',
data() {
return {
bars: ['a', 'b', 'c']
}
}
})
<script src="https://cdn.jsdelivr.net/npm/babel-polyfill/dist/polyfill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="215754445548475861100f150f11" rel="noreferrer noopener nofollow">[email protected]</a>/dist/vuetify.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8afcffeffee3ecf3cabba4bea4ba" rel="noreferrer noopener nofollow">[email protected]</a>/dist/vuetify.min.css">
<div id="app">
<v-item-group>
<v-container grid-list-md>
<v-layout wrap>
<v-flex v-for="(n,i) in bars" :key="n" xs12 md4>
<v-item>
<v-tooltip>
<v-btn slot="activator">
<v-icon>home</v-icon>
</v-btn>
<span>Some tooltip text {{n}}</span>
</v-tooltip>
</v-item>
</v-flex>
</v-layout>
</v-container>
</v-item-group>
</div>
最佳答案
调试代码片段后,我通过添加 slot-scope="i"
找到了解决方案到tooltip
组件如 <v-tooltip slot-scope="i" right>
:
new Vue({
el: '#app',
data() {
return {
bars: ['home', 'event', 'info']
}
}
})
<script src="https://cdn.jsdelivr.net/npm/babel-polyfill/dist/polyfill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5c2a293928353a251c6d7268726c" rel="noreferrer noopener nofollow">[email protected]</a>/dist/vuetify.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="196f6c7c6d707f605928372d3729" rel="noreferrer noopener nofollow">[email protected]</a>/dist/vuetify.min.css">
<div id="app" data-app>
<v-item-group >
<v-container grid-list-md>
<v-layout wrap>
<v-flex v-for="(n,i) in bars" :key="n" xs12 md4>
<v-item >
<v-tooltip slot-scope="i" right>
<v-btn slot="activator">
<v-icon>{{n}}</v-icon>
</v-btn>
<span>{{n}}</span>
</v-tooltip>
</v-item>
</v-flex>
</v-layout>
</v-container>
</v-item-group>
</div>
关于javascript - 缺少默认作用域插槽 Vuetify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54094579/