vue中input动态改变background-color等值(element、iview为例)

先说场景,一个纯动态渲染的from表单,现在接到一个需求需要根据后台返回的值中的一个参数来进行改变背景色。现在根据vue以及css属性选择器来进行实现功能

上代码

iview

template

    <Form ref="formValidate" :model="formValidate" :label-width="80" inline>
      <FormItem
        :label="item.name"
        prop="name"
        v-for="(item, index) in newForm"
        :key="item.key"
      >
        <Input
          v-model="item.defaultValue"
          placeholder="请输入内容"
          :title="item.inputRule"
          :errorColor="item.confidence < 0.95"
        ></Input>
      </FormItem>
    </Form>

css

.ivu-input-wrapper[errorColor='true'] .ivu-input {
  background-color: #e6a23c;
}

element

template

            <el-form-item
              :label="item.label"
              v-for="(item,index) in allData.headerList"
              :key="item.key"
              :show-overflow-tooltip="true"
            >
              <el-input
                v-model="item.value"
                :SuccessColor="item.confidence>=0.95"
                :errorColor="item.confidence<0.95"
                style="width:170px"
              ></el-input>
            </el-form-item>

css

.el-input__inner[errorColor='true'] {
  background-color: #e6a23c;
}

实现原理

在动态渲染form表单时,将需要根据判断的值渲染进input里面,然后再在css里写属性选择器,选择到具体的某一类型的input设置对应的属性。
这里需要注意的一点就是element和iview的区别element将属性直接渲染到input,而iview将属性渲染到上一级的div里面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值