gpt4 book ai didi

vue.js - 在 bootstrap-vue 表头中呈现 HTML

转载 作者:行者123 更新时间:2023-12-04 01:43:55 25 4
gpt4 key购买 nike

我正在制作一个使用 NuxtJS、Bootstrap Vue 和 vue-i18n 的网站。

我有一个表格(<b-table>),以平方米为单位显示面积,标题应显示:平方米 英文和平方米 ( m<sup>2</sup> ) 在翻译中。

所以标题字段标签从 i18n 语言环境 JSON 绘制到单个文件组件的表标题标签。字符串绘制正确,但 HTML 部分未呈现,不幸的是,我在页面上看到的是 m<sup>2</sup> .

以下是我尝试解决的方法(示例已简化 - 部分已从中删除):

hu.json (翻译语言环境文件)

{
"in_numbers": {
"space": "m<sup>2</sup>"
}
}

表组件文件.vue (单个文件组件)
<template>
<b-container fluid>
<b-row>
<b-col cols="12">
<b-table
:items="floors"
:fields="tableHeader"
/>
<template slot="HEAD_space" slot-scope="data">
<span v-html="data.label"></span>
</template>
</b-table>
</b-col>
</b-row>
</b-container>
</template>

<script>
export default {
computed: {
floors() {
return [
{ space: 552.96 },
{ space: 796.27 }
]
}
},
data() {
return {
tableHeader: [
{
key: 'space',
label: this.$t('in_numbers.space'),
sortable: false
}
]
}
}
}
</script>

所以,一切正常,除了我无法从表头中的语言环境 json 呈现 HTML - 所以表呈现其中的数据,而在其他组件中,这 <span v-html="$t('in_numbers.space')"></span>技术工作得很好。

如果我尝试 ,它不起作用平方米 ( &sup2; )或任何东西。

问题是 <template slot>似乎对任何事情都没有反应(实际上我不确定它是否有效) - 但正如文档所述( https://bootstrap-vue.js.org/docs/components/table#custom-data-rendering )

有人看到在 bootstrap-vue 的表头中呈现 HTML 的方法吗?

最佳答案

更新答案(2020 年 6 月)

自从问题和接受的答案发布以来,VueJS 和 bootstrap-vue 都发生了变化。在 bootstrap-vue 文档中仍然不是很清楚,但是您可以通过以下方式完成相同的结果:

<template>
<b-container fluid>
<b-row>
<b-col cols="12">
<b-table
:items="floors"
:fields="tableHeader">
<template v-slot:head(space)="data"> // This has changed
<span v-html="data.field.label"></span> // Now you access data.field.label
</template>
</b-table>
</b-col>
</b-row>
</b-container>
</template>

<script>
export default {
computed: {
floors() {
return [
{ space: 552.96 },
{ space: 796.27 }
]
}
},
data() {
return {
tableHeader: [
{
key: 'space',
label: this.$t('in_numbers.space'),
sortable: false
}
]
}
}
}
</script>

关于vue.js - 在 bootstrap-vue 表头中呈现 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56135568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com