颜色选择器
QColor 组件提供了一种输入颜色的方式。
TIP
有关处理颜色,也请查看 Quasar 颜色工具.
QColor API
QColor API
props
15
events
2
behavior
2
content
4
model
3
state
2
style
4
name
: String
说明
用于指定控件的名称;如果处理直接提交到 URL 的表单,则非常有用
default-view
: String
说明
选择器的默认视图
用法
基础
基础
Template
Script
Style
All
<template>
<div class="q-pa-md row items-start q-gutter-md">
<q-color v-model="hex" class="my-picker" />
<q-color v-model="hexa" class="my-picker" />
<q-color v-model="rgb" class="my-picker" />
<q-color v-model="rgba" class="my-picker" />
</div>
</template>
Copied to clipboard
HEX
RGB
HEXA
RGBA
HEX
RGB
HEXA
RGBA
与 QInput 一起使用
Input
Template
Script
Style
All
<template>
<div class="q-pa-md">
<div class="q-gutter-md row items-start">
<q-input
filled
v-model="color"
class="my-input"
>
<template v-slot:append>
<q-icon name="colorize" class="cursor-pointer">
<q-popup-proxy cover transition-show="scale" transition-hide="scale">
<q-color v-model="color" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
<q-input
filled
v-model="secondColor"
:rules="['anyColor']"
hint="With validation"
class="my-input"
>
<template v-slot:append>
<q-icon name="colorize" class="cursor-pointer">
<q-popup-proxy cover transition-show="scale" transition-hide="scale">
<q-color v-model="secondColor" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</div>
</div>
</template>
Copied to clipboard
这里有一些可以用在 QInput 的 rules
中的工具:完整列表。 为了方便起见,您可以使用它们,也可以编写指定自定义需求的字符串。
示例: “hexColor”, “rgbOrRgbaColor”, “anyColor”.
更多信息: QInput.
不要头部或底部
您可以选择不渲染头部或底部,比如下面的例子:
No header/footer
Template
Script
Style
All
<template>
<div class="q-pa-md row items-start q-gutter-md">
<q-color v-model="hex" no-header class="my-picker" />
<q-color v-model="hex" no-header-tabs class="my-picker" />
<q-color v-model="hex" no-footer class="my-picker" />
<q-color v-model="hex" no-header no-footer class="my-picker" />
</div>
</template>
Copied to clipboard
HEX
RGB
自定义默认视图
您还可以选择默认视图,如下面的示例所示,在这里我们还指定不希望渲染头部和底部。最终结果生成了一个漂亮的调色板,用户可以从中选择:
自定义默认视图
Template
Script
Style
All
<template>
<div class="q-pa-md">
<q-badge color="grey-3" text-color="black" class="q-mb-sm">
{{ hex }}
</q-badge>
<q-color
v-model="hex"
no-header
no-footer
default-view="palette"
class="my-picker"
/>
</div>
</template>
Copied to clipboard
#FF00FF
自定义调色盘
自定义调色盘
Template
Script
Style
All
<template>
<div class="q-pa-md">
<q-badge color="grey-3" text-color="black" class="q-mb-sm">
{{ hex }}
</q-badge>
<q-color
v-model="hex"
default-view="palette"
:palette="[
'#019A9D', '#D9B801', '#E8045A', '#B2028A',
'#2A0449', '#019A9D'
]"
class="my-picker"
/>
</div>
</template>
Copied to clipboard
#FF00FF
HEX
RGB
暗色模式
暗色版本
Template
Script
Style
All
<template>
<div class="q-pa-md">
<div class=" row items-start q-gutter-md">
<q-color v-model="hex" dark class="my-picker" />
<q-color v-model="hexa" dark class="my-picker" />
<q-color v-model="rgb" dark class="my-picker" />
<q-color v-model="rgba" dark class="my-picker" />
</div>
</div>
</template>
Copied to clipboard
HEX
RGB
HEXA
RGBA
HEX
RGB
HEXA
RGBA
默认值
默认值
Template
Script
All
<template>
<div class="q-pa-md">
<q-color
v-model="nullModel"
default-value="#285de0"
style="max-width: 250px"
/>
</div>
</template>
Copied to clipboard
HEX
RGB
懒更新
懒更新
Template
Script
All
<template>
<div class="q-pa-md">
<q-badge color="grey-3" text-color="black" class="q-mb-sm">
{{ hex }}
</q-badge>
<q-color
:model-value="hex"
@change="val => { hex = val }"
style="max-width: 250px"
/>
</div>
</template>
Copied to clipboard
#112e1b
HEX
RGB
禁用或只读
禁用或只读
Template
Script
Style
All
<template>
<div class="q-pa-md">
<div class="row items-start q-gutter-md">
<q-color
v-model="color"
disable
class="my-picker"
/>
<q-color
v-model="color"
readonly
class="my-picker"
/>
</div>
</div>
</template>
Copied to clipboard
HEX
RGB
HEX
RGB
原生表单提交
当处理一个带有 action
和 method
的原生表单时(如:使用 Quasar 和 ASP.NET 控制器时),您需要为 QColor 声明 name
属性,否则表单数据中不会包含它:
原生表单
Template
Script
All
<template>
<div class="q-pa-md">
<q-form @submit="onSubmit" class="q-gutter-md">
<q-color
name="accent_color"
v-model="color"
style="width: 200px; max-width: 100%;"
/>
<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
版权声明 本中文文档内容版权为站长个人所有,保留所有权利。
免责声明 本站点所包含的任何跳转链接均为第三方广告内容,站点对这些广告内容的准确性、合法性、真实性不承担任何责任。用户点击跳转链接进入第三方网站后,应自行判断广告内容的真实性和合法性,并自行承担因使用广告内容而产生的风险和责任。任何因使用第三方广告内容而导致的损失或损害,本站点概不负责。