Vue如何设置button的disable属性
投稿:jingxian
这篇文章主要介绍了Vue如何设置button的disable属性,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Vue设置button的disable属性
表单元素有一个disable属性,用来控制该元素是否可用。
1.这个属性在HTML里只有1个值
用法就是 <button disable="disable">点击</button>
经实测,disable接受任何属性值,甚至只要你给标签添加了disable的属性,这个表单元素就成为不可用状态。
换句话说,如果你试图用下面的语句,让按钮成为可用状态,是不可行的。
<button disable="false">点击</button> //仍然是不可用状态
2.如果需要在vue项目中控制按钮的可用与否
其实很简单
<template> <button v-bind:disable="dis">点击</button> //仍然是不可用状态 </template> <script> export default{ data(){ return { dis: false } } } </script>
虽然原生的HTML标签只要有disable属性,不管它值是什么,效果都是不可用。但是在vue里就不是这样了。通过属性绑定,可以使用bool值来控制对应的表单元素是否可用。
前提是,必须使用属性绑定机制v-bind。
Vue使用js控制button的disabled属性
<button ref="btn">按钮</button>
最好不要使用this.$refs.btn.setAttribute('disabled',true);禁用按钮
因为这个的效果和this.$refs.btn.setAttribute('disabled',false);是一样的,都禁用按钮了,因为true或者false被转化为了字符串,而这个字符串基本等效于true,也就是都是禁用的写法
而若是改为this.$refs.btn.disabled = true(禁用按钮),this.$refs.btn.disabled = false(可用按钮)就能满足正常的需求了
不过非要使用setAttribute也不是不行,要取消禁用按钮就要配合removeAttribute使用了:
this.$refs.btn.removeAttribute('disabled');
vue不太建议使用dom,所以当然在标签中写啦, :disabled=flag(注意flag不要加引号,flag在data中设为Boolean值)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。