Jav*_*hip 4 vue.js vue-component vuejs2 bootstrap-vue
我正在使用 vue-bootstrap。我尝试创建动态的网格组件来获取标题和数据。由于我们不知道有多少列传递给组件,因此我们应该检查传递的每个项目。
<template>
<b-table striped hover :items="items"></b-table>
<div v-for="title in items">
<template slot="title.key" slot-scope="data">
<input v-if="title.isActive" type="text" v-model="data.value">
<textarea v-else type="text" v-model="data.value"></textarea>
</template>
</div>
</b-table>
</template>
<script>
const items =[
{'label': 'Description', 'key': 'description'},
{'label': 'Name', 'key': 'name', 'isActive': true},
]
Run Code Online (Sandbox Code Playgroud)
因此,如果 isActive 为 true,则此模板应该是 textarea(列应使用 textarea 而不是 input 进行更改)但是它不起作用,并且没有列更改 inputbox 和 textarea 并保持默认模板
您能帮忙解答一下这些问题吗?
谢谢
我认为你应该将titlev-for 和 slot-scope 变量分开以避免混淆:
<template v-for="title in items" :key="title.key">
<template :slot="title.key" slot-scope="item">
<input v-if="item.isActive" type="text" v-model="item.value">
<textarea v-else type="text" v-model="item.value"></textarea>
</template>
</template>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23407 次 |
| 最近记录: |