vue.js - 在 Bootstrap Vue 中动态创建模板槽
问题描述
我正在尝试将 HTML 添加到 Vue 表中的标题中。知道该领域的关键,我可以做这样的事情:
<template v-slot:head(my_key)="data">
<span v-html="data.field.label" />
</template>
但是,我的表将有未知数量的列,每个列都有未知的启动键(通过 axios 拉入)。从服务器检索所有密钥后,有没有办法动态设置my_key
?
解决方案
您可以使用动态插槽名称来定位带有变量的标头插槽。假设my_key
在上面的伪代码示例中是变量的名称,那么您的示例可以用模板文字重写:
<template v-slot:[`head(${my_key})`]="data">
然后,您可以使用表的fields
数组或任何键数组v-for
来定位所有表头插槽:
<template v-for="field in fields" v-slot:[`head(${field})`]="data">
<span v-html="data.field.label" />
</template>
data: () => ({
fields: ['a', 'b', 'c']
})
推荐阅读
- mysql - 如何在一列中使用 SUM 从数据库中检索数据的值
- oracle - 在 liquibase 中为 oracle SQL 文件生成提交
- primefaces - 如何从 JSF 中的 bean 设置动态对话框
- xml - 使用一些配置值配置 UWP 应用
- ios - 如何使用 Metal 绘制带纹理的矩形
- android - 用于运行反应原生地理定位应用程序的 Android 配置
- react-native - React 原生 Clevertap 推送通知集成
- javascript - Ajax 发布错误:已通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点
- android - Retrofit2 Api 调用错误未在 Recycler 视图中显示结果
- makefile - 使用 Makefile 使用外部库编译 Fortran 77