Vuejs如何给元素添加自定义属性

Vuejs如何给元素添加自定义属性,第1张

有这样一个场景: v-for 渲染一个列表有10个子项,并且把第5个子项后的元素添加一个属性 data-wow-delay='0.8s' ,实现如下:

可以得出一个给元素添加自定义属性的方法

当然,如果只是添加一个常见属性(css属性),例如class,style等,下面这种方法也可以。

<ul class="rs_tree">

<li v-for="node in treeData">

<div @click="childrenShow(node,$event)" class="rs_tree_text">

<span class="rs_tree_dot" v-if="!isFolder(node)"></span>

<em class="fa fa-folder" v-if="isFolder(node)&&!node.isShow"></em>

<em class="fa fa-folder-open" v-if="isFolder(node)&&node.isShow"></em>

<span class="rs_tree_label">{{node.text}}</span>

<input type="text" class="rs_edit_input" v-model="node.text" @click="stop($event)" @keyup.enter="editEnd()">

<div class="rs_tree_icon" v-if="node.add" @click="addItem(node,$event)" title="新增"><i class="fa fa-plus"></i></div>

<div class="rs_tree_icon" v-if="node.edit" @click="editItem(node,$event)" title="编辑"><i class="fa fa-edit"></i></div>

<div class="rs_tree_icon" v-if="node.del" @click="delItem(node,$event)" title="删除"><i class="fa fa-trash"></i></div>

</div>

<items v-if="isFolder(node)" v-show="node.isShow" :tree-data="node.children" transition="node-down"></items>

</li>

在vue中有时候可能想像使用jq一样给某个元素添加属性,如

$('#select1').attr('disabled','disabled')1

这种方法也能实现,但是在vue中能用vue的方法还是尽量不要使用jq

使用vue的方法来添加属性可以这样:

<select v-model='issues' class="ui dropdown t-select-list" :disabled='isDisabled'>

<option></option>

</selected>123

disabled是表单元素的原生属性,可以直接使用属性绑定的语法 :disabled 来绑定,然后加上一个条件就可以控制这个属性动态添加删除,如:

watch:{

issueDatas(){

if(this.issueDatas.state==5){

this.isDisabled=true

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11915637.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存