iview的Tree标签根据不同条件改变title颜色

iview的Tree标签根据不同条件改变title颜色

我搜到的一种方法是去获取dom,然后改变classname,感觉比较麻烦,就去官网再看了下,发现有个自带的render自定义渲染,用起来比较方便。

但是使用了render之后,会影响on-select-change事件,这时候,可以不需要去纠结这个事件了,直接将title的标签改用a标签,而不是span标签,就可以去获得节点信息,都不需要去通过ref获得节点信息了。

<template>
    <Tree :data="upData" :render="renderContent"></Tree>
    // 需要异步加载再加个:load-data="loadData",都可以结合使用
</template>
<script>
    export default {
        data () {
            return {
                upData:[]
            }
        },
        methods: {
        	getUpData() {
        		// ... 获取upData
        	},
     		renderContent (h, { root, node, data }) {
     			let col = 'red'
     			if (data.isEnable === 1) { // 这里可以做条件选择
     				col = 'green'
				}
                return h('span', {
                    style: {
                        display: 'inline-block',
                        width: '100%'
                    }
                }, [
                    h('span', [
                        h('Icon', { // 不需要icon可以删除掉
                            props: {
                                type: 'ios-paper-outline'
                            },
                            style: {
                                marginRight: '8px'
                            }
                        }),
                        h('span', { // 如果需要配合点击事件获得节点信息,这里可以用a标签
                          style: {
                            color: col //这里设置title的颜色
                          }
                        },data.title)
                    ]),
                ]);
            }
       }
</script>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值