是否可以禁用具有VueJS和BootstrapVue的页面中的所有输入?
我在一个页面中有多个按钮和表单输入。根据条件,需要禁用或启用所有这些按钮和表单输入。
我知道可以在标记内使用disabled关键字来禁用特定的输入或按钮。另外,我可以添加代码
:disabled="true"
根据变量的布尔值禁用输入。但是,这个解决方案对我来说是不可接受的,因为我必须将这行代码添加到我页面上的每个输入中(我可能在将来创建新页面,包含尽可能多的输入)。
我想知道是否有一种方法可以让我简单地禁用所有输入的父容器,以便禁用子项(输入)。
回答如下:如果在运行代码时检查VM的Vue实例本身,则在console.log(this)时可以使用类似的东西。
如果使用正确的范围,它将为您提供类似于此的输出:
{
$attrs
$options
.......
$el
}
在$ el里面有用于访问firsElementChild,previousElementChild,previousElementSibling等的对象属性。有很多与HTML相关的属性,但是,以这种方式访问HTML元素会很快变得混乱。我认为您最好的解决方案是您已经提到的或动态更改CSS类。
如果在父级上使用v-if进行条件渲染,则也可以实现非常相似的功能。
See: Conditional rendering
是否可以禁用具有VueJS和BootstrapVue的页面中的所有输入?
我在一个页面中有多个按钮和表单输入。根据条件,需要禁用或启用所有这些按钮和表单输入。
我知道可以在标记内使用disabled关键字来禁用特定的输入或按钮。另外,我可以添加代码
:disabled="true"
根据变量的布尔值禁用输入。但是,这个解决方案对我来说是不可接受的,因为我必须将这行代码添加到我页面上的每个输入中(我可能在将来创建新页面,包含尽可能多的输入)。
我想知道是否有一种方法可以让我简单地禁用所有输入的父容器,以便禁用子项(输入)。
回答如下:如果在运行代码时检查VM的Vue实例本身,则在console.log(this)时可以使用类似的东西。
如果使用正确的范围,它将为您提供类似于此的输出:
{
$attrs
$options
.......
$el
}
在$ el里面有用于访问firsElementChild,previousElementChild,previousElementSibling等的对象属性。有很多与HTML相关的属性,但是,以这种方式访问HTML元素会很快变得混乱。我认为您最好的解决方案是您已经提到的或动态更改CSS类。
如果在父级上使用v-if进行条件渲染,则也可以实现非常相似的功能。
See: Conditional rendering