switch 的checked属性不能用设置为false吗?

发布于 7 年前作者 yangfeng16412 次浏览最后编辑 7 年前来自 ask
<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 回复
guiying92
guiying921 楼6 年前

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

vmeng
vmeng2 楼6 年前

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

呵呵,布尔值

swei
swei3 楼6 年前

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

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

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

xiuyingmo
xiuyingmo4 楼6 年前

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

至于

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

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

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

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

gang01
gang015 楼5 年前

顶起