解决“微信小程序disabled属性不生效”的问题!

微信小程序中带disabled属性的表单组件有(点击可以进入官方文档):

buttoncheckboxinputpickerradiosliderswitchtextarea

如果是固定禁用组件的话,直接放上disabled就好,简单粗暴,如:

<!-- 自闭合标签 -->
<input type="text" disabled />

<!-- 非自闭合标签 -->
<picker bindchange="bindPickerChange" disabled> </picker>

重点来了,如果disabled的值是动态的灵活的,那就不一样了,在网上看到有不少的小伙伴遇到这样的问题。例如:

在xxx.js中,设置一个data数据变量

Page({
  data: {
    status: true
  }
})

在xxx.wxml中,用上表单组件,很多人会觉得是<input type="text" disabled=“{{status}}” />,

disabled的结果是 disabled=“true” 或者 disabled=“false” ,

那就错了,注意一下官方文档中,disabled的值是布尔值(Boolean),而以上的字符串(String),赋值“false”就是true

正确的用法应该是:

<input type="text" disabled={{status}} />

<picker bindchange="bindPickerChange" disabled={{status}}> </picker>

注意:像input这种自闭合标签,在斜杠‘/’之前需要留一个空格,不然会报错“ expect end-tag `input`., near `view` ”

 

希望这篇文章能帮助到大家,祝大家生(sheng)活(zhi)愉(jia)快(xin)!

猜你喜欢

转载自blog.csdn.net/mossbaoo/article/details/83502720