switch 的checked属性不能用设置为false吗?
发布于 6 年前 作者 yangfeng 16272 次浏览 来自 问答
<switch checked="false" bindchange="switchChange">

这样好像还是选中的状态

这样的话就很不方便用条件判断,比如设想中是这样用一行就可以完成

<switch checked="{{switchChecked}}" bindchange="switchChange">

但是实际必须要好多行

<block wx:if="{{switchChecked}}">
 <switch checked bindchange="switchChange">
</block>
<block wx:else>
 <switch bindchange="switchChange">
</block>

还是说是我的写法有问题,请指教

5 回复

我就是实践之后发现完全不是这么回事才提的问题

试了下,果然可行,谢谢。

呵呵,布尔值

<switch checked=’{{switchChecked}}’ bindchange=‘switchChange’ />

这样写是完全没有问题的啊,初始状态取决于{{switchChecked}}的初始值,如果初始值为false或者未定义之类的布尔值为false,初始状态都为不选中状态啊。

其实楼主有没有实际实践过自己的想法?

但是事实上是可行的,变量的布尔值确实能作用于checked属性。

至于

<switch checked=‘false’ bindchange=‘switchChange’ />

没有效果,是因为这里的‘false’是字符串,不为空时等效于布尔值true。

下面这句代码就是没有选中的状态,因为空的字符串等效于布尔值false。

<switch checked=’’ bindchange=‘switchChange’ />

回到顶部