iview的step组件自定义样式

场景:当我们需要在step组件自己设置样式,该怎么做?样式穿透可以改变组件原有的样式,这是改变所有这个dom下的样式,当有step是循环生成的,每个step我要根据特定的字段生成不同样式呢?那可以在每个step组件中判断,那当要改变的样式是step绑定的title或者content呢?这是绑定的字符串呀,直接字符串放标签加样式,貌似解析不了。那就要用到强大的模板template加slot插槽功能。

代码:

 <Steps :current="currentLog" direction="vertical" size="small">
                <div v-for="(item, index) in processLogInfo" :key="index" style="height:80px">
                    <Step :title="item.nodeTitle">
                        <template slot="content">
                            <span>{{item.nickname}}</span>
                            <span v-if="item.flowState===null" style="color:#9ea7b4;font-weight:600;font-size:14px"> 待处理</span>
                            <span v-if="item.flowState==='1'" style="color:#3399ff;font-weight:600;font-size:14px"> 发起</span>
                            <span v-if="item.flowState==='2'" style="color:#00cc66;font-weight:600;font-size:14px"> 通过</span>
                            <span v-if="item.flowState==='3'" style="color:#ff3300;font-weight:600;font-size:14px"> 驳回</span>
                            <span>
                                {{stepContent(item)}}
                            </span>
                        </template>
                        <template slot="title">
                            <span style="color:red">你好啊</span>
                        </template>
                    </Step>
                </div>
            </Steps>

计算属性:

 computed: {
        // 处理审批日志内容
        stepContent() {
            return function(item) {
                let remark = ''
                let time = ''
                if (item.remark === null) {
                    remark = '无'
                } else {
                    remark = item.remark
                }
                if (item.createDate === null) {
                    time = '无'
                } else {
                    time = item.createDate
                }
                return `流程;意见:${remark};时间:${time}`
            }
        }
    },

貌似iview要自定义组件样式,都可以通过slot插槽来解决 

效果:

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值