在$ refs中添加样式?

时间:2018-03-30 10:36:34

标签: javascript vue.js

无法在$ refs属性中添加样式。无法设置未定义的属性'cssText'。这可能吗?找不到与此相似的任何内容

this.$refs['ticketCode_'+this.resoTrans_id].style.cssText =
                "background-color:#66BB6A !important; border:1px solid #66BB6A !important; color:#fff !important;";

在没有.style的情况下打印出来似乎正常console.log(this.$refs['ticketCode_'+this.resoTrans_id])

VueComponent {_uid: 493, _isVue: true, $options:

2 个答案:

答案 0 :(得分:5)

您不应该使用cssText,而是使用JavaScript API设置样式(您也可以在$ refs上执行):

let $ref = this.$refs['ticketCode_' + this.resoTrans_id]

$ref.style.backgroundColor = '#66bb6a';
$ref.style.border = '1px solid #66bb6a';
...

更好的方法是直接在模板中使用Vue的功能:

<your-element ref="'ticketCode_' + resoTrans_id" :style="{ backgroundColor: '#66bb6a', border: '1px solid #66bb6a' /* ... */ }" />

答案 1 :(得分:0)

直接应用 $refs.objectkey 样式

this.$refs['ticketCode_' + this.resoTrans_id].style.background="red"