(14):class用法

比如编辑页面和查看页面,内容都是一样的,这时候可以设置一个状态来区分,通过这个状态变量来给编辑处加上class,这个class通过css来控制前端的权限,而不用写两个页面;再比如审核页面,需要查看哪些内容被修改过,修改过而未审核的标红,也可以设置统一的css。语法为:

:class = "{className1:(条件1),className2:(条件2)}"

其中,className可以加上'',也可以不加引号。 

例:

<template>
  <div>
    <div>
      <el-select v-model="editSatus" placeholder="请选择">
        <el-option
          v-for="item in options"
          :key="item.value"
          :label="item.label"
          :value="item.value"
        ></el-option>
      </el-select>
    </div>

    <div>
      <el-form>
        <el-input
          v-model="redtext"
          :class="{'my-disabled':(editSatus === false)}"
        ></el-input>
      </el-form>

      <div v-for=" item in colors" :key="item">
             <span  :class="{'mytrue':(obj[`my${item}Change`] === 1),myred:(item === 'redtext')}">{{item}}</span>
            
      </div>

      
    </div>
  </div>
</template>

<script>
export default {
  data() { 
    return {
        colors:['redtext','greentext','yellowtext'],
      redtext: "redtext",
      greentext: "greentext",
      yellowtext: "yellowtext",
      myredtextChange:1,
      obj:{ myredtextChange:1,
      mygreentextChange:0},
      //是否可以编辑,默认可以
      editSatus: true,
      options: [
        {
          value: true,
          label: "编辑"
        },
        {
          value: false,
          label: "查看"
        }
      ]
    };
  },
  methods: {
      getText(item){
          let val = 'my'+item+'Change';
         
          
          return this.obj.myredtextChange;
      }
  }
};
</script>
<style lang="scss">
.my-disabled {
  pointer-events: none;
}
.myred {
    color:  red;
  .ivu-input.ivu-input-default {
    color: red;
  }
  .ivu-select.ivu-select-single.ivu-select-default {
    color: red;
  }
  textarea {
    color: red;
  }
  .ivu-form-item-label {
    color: red;
  }
}
.mytrue{
    font-style:oblique
}
</style>

再如删除某行页面上以中划线表示并字体标红:

<el-table-column label="项目合同金额">
              <template slot-scope="scope">
                <span
                  :style="{color:(scope.row.status==2) ? 'red' : '#007bd9',
                      'text-decoration': (scope.row.status==2) ? 'line-through' : 'none'}"
                >{{scope.row.projectMoney}}</span>
              </template>
            </el-table-column>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值