Toggle
QToggle 组件是采集用户输入的一个基本元素。您可以使用它为用户提供设置开关切换或者真假值输入功能。
TIP
关于创建一组选项框的其他可能性,请参阅 QOptionGroup。
QToggle API
name
: String
说明
用于指定控件的名称;如果处理直接提交到 URL 的表单时很有用
toggle-order
: String
说明
确定两个状态的切换顺序('t' 代表 true 状态,'f' 代表 false 状态);如果 'toggle-indeterminate' 是 true,则顺序为:indet -> 第一个状态 -> 第二个状态 -> indet(循环),否则:indet -> 第一个状态 -> 第二个状态 -> 第一个状态 -> 第二个状态 -> ...
toggle-indeterminate
: Boolean
说明
当用户点击/触摸组件时,我们是否应该通过不确定状态进行切换?
keep-color
: Boolean
说明
当组件取消选中/关闭时,是否保留颜色(如果指定了任何颜色)?
用法
基础
使用 color
属性来控制开关的颜色
带有标签
On Right
On Right
On Right
On Right
On Left
On Left
On Left
On Left
保留颜色
带有图标
Same Icon for each state
Different icon for each state
自定义 model 值
您可以自定义 model 的值来替换默认的 true
/false
。
Model is true (default behaviour)
Agreed
Model is number 42
Model is true (flipped boolean)
不定状态
在下面的示例中,只要单击第一个 QToggle,它就开始在真/假之间切换。然而,第二个 QToggle 通过设置toggle-indeterminate
属性可以在三种状态(不确定/真/假)之间切换。您可以选择设置 indeterminate-value
,否则不确定的值将被视为 null
Did you eat lunch today?
The model data: "maybe"
Did you eat lunch today?
The model data: null
切换顺序
默认情况下,QToggle 在点击时按照下述顺序切换值:indeterminate -> checked -> unchecked。但是您可以通过 toggle-order
属性来修改此行为。这个属性决定了切换状态的顺序是 tf
(默认),或者 ft
(t
表示 true/checked 状态,f
表示 false/unchecked 状态)
切换顺序:
- 如果
toggle-indeterminate
是 true,那么:indet -> first state -> second state -> indet (依次循环) - 否则: indet -> first state -> second state -> first state -> second state -> …
'tf' order
'ft' order
'tf' order + toggle-indeterminate
'ft' order + toggle-indeterminate
数组 model
如果有多个开关,则可以使用数组作为所有开关的 数据 model,并在每个开关上指定 val
属性。如果勾选该开关,其 val
将插入数组,反之亦然。
Blue
Yellow
Green
Red
Model: [
"yellow",
"red"
]
黑色和禁用
大小
除了下面的标准尺寸,您可以通过 size
属性定义自己的尺寸(最后一个示例是自定义尺寸)。
Size 'xs'
Size 'sm'
Size 'md'
Size 'lg'
Size 'xl'
Size '150px'
Your selection is: [
"line"
]
搭配 QOptionGroup
TIP
您还可以使用 QOptionGroup,当您有多组开关时,它可以简化使用,如下面的示例所示。
Battery too low
Friend request
Picture uploaded
搭配 QItem
原生表单提交
当处理一个带有 action
和 method
的原生表单时(如:使用 Quasar 和 ASP.NET 控制器时),您需要为 QToggle 声明 name
属性,否则表单数据中不会包含它: