旋钮
QKnob 组件用于通过鼠标/触摸平移从用户那里输入数字。它基于 QCircularProgress ,并继承了其所有属性和行为.
QKnob API
QKnob API
props
21
slots
1
events
3
behavior
4
content
2
general
1
model
6
state
2
style
6
name
: String
说明
用于指定控件的名称;如果处理直接提交到 URL 的表单时很有用
reverse
: Boolean
说明
反转进度的方向
instant-feedback
: Boolean
说明
当 model 数据发生变化时没有动画效果
show-value
: Boolean
说明
启用默认插槽并使用它(如果可用),否则将 'value' 属性显示为文本;确保文本有足够的空间在组件内显示
用法
默认情况下,QKnob 继承当前的文本颜色(作为圆弧进度条颜色和内部标签颜色)和当前的字体大小(作为组件大小)。您可以使用 size 和 color 相关的属性来自定义。
基础
基础
Template
Script
All
<template>
<div class="q-pa-md flex flex-center">
<q-knob
v-model="value"
size="50px"
color="orange"
class="q-ma-md"
/>
<q-knob
v-model="value"
size="90px"
:thickness="0.2"
color="purple-3"
center-color="purple"
track-color="purple-1"
class="q-ma-md"
/>
<q-knob
v-model="value"
size="45px"
:thickness="1"
color="grey-8"
track-color="light-blue"
class="q-ma-md"
/>
<q-knob
v-model="value"
size="50px"
:thickness="0.22"
color="orange"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
v-model="value"
size="75px"
:thickness="0.6"
color="orange"
center-color="orange-10"
class="q-ma-md"
/>
<q-knob
v-model="value"
size="40px"
:thickness="0.4"
color="orange"
track-color="orange-3"
class="q-ma-md"
/>
</div>
</template>
Copied to clipboard
展示值
在下面的示例中, show-value
属性还启用了默认插槽,因此您可以用自定义内容填充它,甚至 QAvatar 或 QTooltip。font-size
属性是指内部标签的字体大小。
展示值
Template
Script
All
<template>
<div class="q-pa-md flex flex-center">
<q-knob
show-value
class="text-light-blue q-ma-md"
v-model="value"
size="50px"
color="light-blue"
/>
<q-knob
show-value
class="text-white q-ma-md"
v-model="value"
size="90px"
:thickness="0.2"
color="orange"
center-color="grey-8"
track-color="transparent"
>
<q-icon name="volume_up" />
</q-knob>
<q-knob
show-value
font-size="12px"
v-model="value"
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
>
{{ value }}%
</q-knob>
<q-knob
show-value
font-size="16px"
class="text-red q-ma-md"
v-model="value"
size="60px"
:thickness="0.05"
color="red"
track-color="grey-3"
>
<q-icon name="volume_up" class="q-mr-xs" />
{{ value }}
</q-knob>
<q-knob
show-value
font-size="10px"
class="q-ma-md"
v-model="value"
size="80px"
:thickness="0.25"
color="primary"
track-color="grey-3"
>
<q-avatar size="60px">
<img src="https://cdn.quasar.dev/logo-v2/svg/logo.svg">
</q-avatar>
</q-knob>
</div>
</template>
Copied to clipboard
81
volume_up
81%
volume_up 81
最大/小值
自定义最大/小值
Template
Script
All
<template>
<div class="q-pa-md flex flex-center">
<q-knob
:min="5"
:max="10"
v-model="value1"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:min="55"
:max="90"
v-model="value2"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:min="40"
:max="110"
v-model="value3"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:min="20"
:max="70"
v-model="value4"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
v-model="value5"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
</div>
</template>
Copied to clipboard
6
70
102
35
95
内部的最大/最小值 v2.5.4+
有时您需要将模型值限制为轨迹长度内的范围。您可以通过 inner-min
和 inner-max
属性来实现,前者需要大于等于 min
属性,后者需要小于等于 max
属性。
内部的最大/最小值
Template
Script
All
<template>
<div class="q-pa-md flex flex-center">
<q-knob
:min="5"
:max="10"
:inner-min="6"
v-model="value1"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:min="55"
:max="90"
:inner-min="70"
:inner-max="85"
v-model="value2"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:min="40"
:max="110"
:inner-min="50"
:inner-max="100"
v-model="value3"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:min="20"
:max="70"
:inner-min="30"
:inner-max="60"
v-model="value4"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:inner-max="75"
v-model="value5"
show-value
size="50px"
:thickness="0.22"
color="teal"
track-color="grey-3"
class="q-ma-md"
/>
</div>
</template>
Copied to clipboard
7
70
80
35
70
自定义步长
自定义步长
Template
Script
All
<template>
<div class="q-pa-md flex flex-center">
<q-knob
:step="10"
v-model="value"
show-value
size="90px"
:thickness="0.22"
color="lime"
track-color="lime-3"
class="text-lime q-ma-md"
/>
<q-knob
:step="25"
v-model="value"
show-value
size="90px"
:thickness="0.22"
color="orange"
track-color="orange-3"
class="text-orange q-ma-md"
/>
</div>
</template>
Copied to clipboard
61
61
偏移角度
偏移角度
Template
Script
All
<template>
<div class="q-pa-md flex flex-center">
<q-knob
v-model="value"
size="70px"
:thickness="0.22"
color="purple"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:angle="90"
v-model="value"
size="70px"
:thickness="0.22"
color="purple"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:angle="180"
v-model="value"
size="70px"
:thickness="0.22"
color="purple"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:angle="270"
v-model="value"
size="70px"
:thickness="0.22"
color="purple"
track-color="grey-3"
class="q-ma-md"
/>
<q-knob
:angle="52"
v-model="value"
size="70px"
:thickness="0.22"
color="purple"
track-color="grey-3"
class="q-ma-md"
/>
</div>
</template>
Copied to clipboard
禁用和只读
禁用和只读
Template
Script
All
<template>
<div class="q-pa-md flex flex-center">
<q-knob
disable
v-model="value"
show-value
size="90px"
:thickness="0.22"
color="primary"
track-color="grey-3"
class="text-primary q-ma-md"
/>
<q-knob
readonly
v-model="value"
show-value
size="90px"
:thickness="0.22"
color="orange"
track-color="orange-3"
class="text-orange q-ma-md"
/>
</div>
</template>
Copied to clipboard
71
71
原生表单提交
当处理一个带有 action
和 method
的原生表单时(如:使用 Quasar 和 ASP.NET 控制器时),您需要为 QKnob 声明 name
属性,否则表单数据中不会包含它:
Native form
Template
Script
All
<template>
<div class="q-pa-md">
<q-form @submit="onSubmit" class="q-gutter-md">
<q-knob
name="volume"
class="text-white q-ma-md"
v-model="volume"
size="90px"
:thickness="0.2"
color="orange"
center-color="grey-8"
track-color="transparent"
show-value
>
<q-icon name="volume_up" />
</q-knob>
<div>
<q-btn label="Submit" type="submit" color="primary"/>
</div>
</q-form>
<q-card flat bordered class="q-mt-md bg-grey-2" v-if="submitResult.length > 0">
<q-card-section>Submitted form contains the following formData (key = value):</q-card-section>
<q-separator />
<q-card-section class="row q-gutter-sm items-center">
<div
v-for="(item, index) in submitResult"
:key="index"
class="q-px-sm q-py-xs bg-grey-8 text-white rounded-borders text-center text-no-wrap"
>{{ item.name }} = {{ item.value }}</div>
</q-card-section>
</q-card>
</div>
</template>
Copied to clipboard
版权声明 本中文文档内容版权为站长个人所有,保留所有权利。
免责声明 本站点所包含的任何跳转链接均为第三方广告内容,站点对这些广告内容的准确性、合法性、真实性不承担任何责任。用户点击跳转链接进入第三方网站后,应自行判断广告内容的真实性和合法性,并自行承担因使用广告内容而产生的风险和责任。任何因使用第三方广告内容而导致的损失或损害,本站点概不负责。