Vue如何设置button的disable属性

目录
  • Vue设置button的disable属性
    • 1.这个属性在HTML里只有1个值
    • 2.如果需要在vue项目中控制按钮的可用与否
  • Vue使用js控制button的disabled属性

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值)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • VUE.js实现动态设置输入框disabled属性

    需求背景 页面从list列表展示,跳转到新增和修改的时候,新增和修改用的是同一个页面:add-or-update.vue. 修改的时候用户的账号不能修改,因此需要将账号的输入框属性设置为"只读". 代码样例 <el-input v-model="dataForm.account" placeholder="账号" v-bind:disabled="dataForm.id!=0"></el-input>

  • Vue动态控制input的disabled属性的方法

    有时候会有这样的需求,新增的时候可以输入,但是无法修改,此时就需要通过控制input标签的disabled属性来实现,那vue是如何动态设置input输入框的disabled属性的呢? 输入框的html源代码 <el-input v-model="dataForm.name" placeholder="配置项" v-bind:disabled="dataForm.id"></el-input> 新增~ 通过F12查看实际页

  • vue中动态控制btn的disabled属性方式

    目录 动态控制btn的disabled属性 场景 动态改变:disabled的属性值 首先 然后 接着 动态控制btn的disabled属性 场景 当ajax请求回来的数据为空时,btn为disabled的状态,否则,btn的disabled属性为false 代码: <button class="iconDivIcon targetBtn" :class="isdisabled?btndisabled:''"  style="width:100px;

  • Vue如何设置button的disable属性

    目录 Vue设置button的disable属性 1.这个属性在HTML里只有1个值 2.如果需要在vue项目中控制按钮的可用与否 Vue使用js控制button的disabled属性 Vue设置button的disable属性 表单元素有一个disable属性,用来控制该元素是否可用. 1.这个属性在HTML里只有1个值 用法就是 <button disable="disable">点击</button> 经实测,disable接受任何属性值,甚至只要你给标签

  • vue 实现根据data中的属性值来设置不同的样式

    style动态赋值 margin-top的值 根据choosePaperFlag的值来设置 利用三元表达式 补充知识:vue 条件判断绑定内联样式 当需要判断条件来绑定内联样式时 可以三元运算符判断,然后绑定一个对象 :style="!areaCode || !phoneNumber || !receivedCode || !verification ? '{backgruond:#ccc}' : $store.state.store.config.background" 以上这篇vu

  • 用jquery设置按钮的disabled属性的实现代码

    在html标签中设置按钮被禁用,可以使用如下代码 <input type='button' id='test' value='disabled'> 在jquery中可以使用attr()函数修改按钮的disable属性 $("#test").attr('disabled',false); jquery 控制button的disabled属性 复制代码 代码如下: $('#button').attr('disabled',"true");添加disabled

  • 浅谈关于.vue文件中style的scoped属性

    本文介绍了.vue文件中style的scoped属性以及踩到的坑,具体如下: scoped可以实现style只作用于当前的.vue文件 <template> <div class="user"></div> </template> <script> </script> <style lang='less' scoped> .user { color:#333; } </style> 上面的文

  • 用jQuery解决IE不支持的option disable属性

    在IE浏览器中,给select的options设置 disable属性 是没用的. 必须采用一定手段才可以解决这个问题.当然原理就是记住上次选中的 option. this.selectedIndex 就派上用场了. 需要刷新下才可以看到效果,因为输出的都是文本,不存在js加载的情况. 使用jQuery解决IE不支持的option disable属性 $(document).ready(function(){ $(".myselect option:disabled").css('co

  • 浅谈vue中慎用style的scoped属性

    在vue组件中,为了使样式私有化(模块化),不对全局造成污染,可以在style标签上添加scoped属性以表示它的只属于当下的模块,这是一个非常好的举措,但是为什么要慎用呢?因为在我们需要修改公共组件(三方库或者项目定制的组件)的样式的时候,scoped往往会造成更多的困难,需要增加额外的复杂度. scoped实现私有化样式的原理 为什么会说,会增加复杂度?那么我们先从的实现模块的原理说起.为了方便称呼,我们假设把这种组件叫做模块私有组件,其他的未加scoped的叫做模块一般组件. 通过查看DO

  • Vue 动态设置路由参数的案例分析

    在vue中 可以动态设置路由参数: 1.使用this.$router.go(),与js histroy.go() 用法一直,前进1,后退-1,当前页面:0 注意 使用go时 必须是已经有访问历史记录了 案例: <template> <div> <button @click="goht">后退<button> <br/> <button @click="goqj">前进<button>

  • Vue中使用方法、计算属性或观察者的方法实例详解

    熟悉 Vue 的都知道 方法methods.计算属性computed.观察者watcher 在 Vue 中有着非常重要的作用,有些时候我们实现一个功能的时候可以使用它们中任何一个都是可以的,但是它们之间又存在一些不同之处,每一个都有一些适合自己的场景,我们要想知道合适的场景,肯定先对它们有一个清楚的了解,先看一个小例子. <div id="app"> <input v-model="firstName" type="text"&

  • Vue中的v-for循环key属性注意事项小结

    当Vue用 v-for 正在更新已渲染过的元素列表是,它默认用"就地复用"策略.如果数据项的顺序被改变,Vue将不是移动DOM元素来匹配数据项的改变,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素. 为了给Vue一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性.key属性的类型只能为 string或者number类型. 在下面这个例子中,如果不给 p 元素绑定key,我先选中第一个, 然后输入ID和Nam

  • vue中v-for循环给标签属性赋值的方法

    1.给每个按钮添加class的属性值以及icon图标属性值,通过v-for实现自动添加样式,发现属性值无法显示,切记在属性前加上v-bind <html> <head> <meta charset="utf-8"> <title>v-for在线测试实例</title> <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"> &

随机推荐