ivew组件库切换不同的tab展示不同的table表格的columns图标

本文介绍了一种在不同Tab页的表格中动态显示或隐藏电话图标的方法。通过控制表格列宽来实现图标列的显示与隐藏,并利用render函数根据数据状态动态渲染图标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 效果如下图:在其中一个tab页的table中根据不同的数据的状态动态渲染出电话图标(有的数据里有图标有的数据里没图标),在其他的tab页则没有电话图标呈现这一列。首先如何呈现在其中某个tab页里展示图标其他tab页中则没有,其实就是对table绑定的columns数组进行操作,根据tab切换时的name进行判断,如果是需要展示本列的数据的name,则给当前column项的width给值,反之则给0,

其次,当前column列的图标怎么动态渲染呢,就需要用到render函数了,在函数中创建icon或者其它的HTML标签,根据render函数的第二个参数对象,可以拿到当前行的数据,再判断数据中的某个状态值,渲染出每条数据展示或者不展示对应的图标。

代码如下:

 

### 如何在 Bootstrap Table 中使用 iView 组件进行列格式化 为了实现在 `Bootstrap Table` 中利用 `iView` 组件来格式化特定列的数据展示效果,可以通过配置 `formatter` 属性并结合 Vue.js渲染机制完成此功能。下面提供一段具体的实现方式: #### 实现思路 通过设置表格列的 `formatter` 函数,在该函数内部创建一个临时 DOM 节点用于挂载 Vue 实例及其对应的 iView 组件,从而动态生成所需的 UI 控件。 #### 示例代码 ```html <!-- HTML 部分 --> <table id="table" data-toggle="table"> <thead> <tr> <th data-field="state">状态</th> <!-- 使用 formatter 进行特殊处理的一列 --> <th data-field="name">名称</th> <th data-field="price">价格</th> </tr> </thead> </table> <script type="text/x-template" id="statusTemplate"> <div> <Button :type="props.row.state === 'active' ? 'success' : 'error'" @click="handleClick">{{ props.row.state }}</Button> </div> </script> ``` ```javascript // JavaScript (Vue + iView)部分 new Vue({ el: '#app', components: { Button: require('view-design').Button // 导入 iView 的按钮组件 }, methods: { handleClick(event){ console.log("点击事件触发", event); } } }); $('#table').bootstrapTable({ columns: [{ field: 'state', title: '状态', formatter: function(value, row, index) { let div = document.createElement('div'); const vm = new Vue({ template: "#statusTemplate", data() {return {row}}, mounted(){ this.$nextTick(() => { ReactDOM.render(React.createElement(this.$options.template), div); }); } }).$mount(div); return div.innerHTML; } }, /* ...其他列... */], }); ``` 上述代码展示了如何在一个名为 "状态" 的列中嵌入来自 `iView` 库中的按钮控件,并依据实际数据改变其外观样式[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值