Vuetify 默认为所有 v-text-field 设置概述
Vuetify set outlined for all v-text-field by default
是否有简单的方法来更改输入项目中所有 "v-text-field" 的属性 "outlined" 的默认值?
https://vuetifyjs.com/en/components/text-fields
您可以创建一个包装器组件和 extends
from VTextField
(see treeshaking) 并自定义默认值。
import Vue from 'vue';
import { VTextField } from 'vuetify/lib';
Vue.component('TextFieldOutlined', {
extends: VTextField,
props: {
outlined: {
type: Boolean,
default: true
}
}
})
像这样使用它:
<text-field-outlined
label="Some label"
clearable
dense>
</text-field-outlined>
FWIW,扩展一个组件意味着所有基础组件的道具都被传递,因此同样可用。
无需自定义组件
默认情况下,v-text-field
使用应用程序的原色。
更改单个 v-text-field 的轮廓颜色
如果你想改变单个v-text-field
聚焦时的轮廓颜色,你可以简单地使用color
属性。
<v-text-field
outlined
color="red"
/>
更改应用的主要颜色
这将改变所有v-text-field
聚焦时的颜色:
import Vue from 'vue'
import Vuetify from 'vuetify/lib/framework'
Vue.use(Vuetify)
export default new Vuetify({
theme: {
options: {
customProperties: true
},
themes: {
light: {
primary: '#5E72E4'
}
}
}
})
更改所有 v-text-field 的颜色(聚焦或不聚焦)
现在,如果您想要更改轮廓的颜色,即使元素未获得焦点,您可以使用 SASS variable API。
如果您通过 Vue CLI 安装了 Vuetify,请创建一个 src/scss/variables.scss
文件:
$material-light: ( 'text-fields': (
'filled': rgba(0, 0, 0, 0.06),
'filled-hover': rgba(0, 0, 0, 0.12),
'outlined': rgba(0, 0, 0, 0.2),
'outlined-disabled': rgba(0, 0, 0, 0.1),
'outlined-hover': rgba(0, 0, 0, 0.4)
));
$text-field-outlined-fieldset-border: 1px solid currentColor;
这样你就可以完全控制焦点和初始状态。上面的示例使轮廓更亮,并将聚焦轮廓宽度减小到 1px;
是否有简单的方法来更改输入项目中所有 "v-text-field" 的属性 "outlined" 的默认值?
https://vuetifyjs.com/en/components/text-fields
您可以创建一个包装器组件和 extends
from VTextField
(see treeshaking) 并自定义默认值。
import Vue from 'vue';
import { VTextField } from 'vuetify/lib';
Vue.component('TextFieldOutlined', {
extends: VTextField,
props: {
outlined: {
type: Boolean,
default: true
}
}
})
像这样使用它:
<text-field-outlined
label="Some label"
clearable
dense>
</text-field-outlined>
FWIW,扩展一个组件意味着所有基础组件的道具都被传递,因此同样可用。
无需自定义组件
默认情况下,v-text-field
使用应用程序的原色。
更改单个 v-text-field 的轮廓颜色
如果你想改变单个v-text-field
聚焦时的轮廓颜色,你可以简单地使用color
属性。
<v-text-field
outlined
color="red"
/>
更改应用的主要颜色
这将改变所有v-text-field
聚焦时的颜色:
import Vue from 'vue'
import Vuetify from 'vuetify/lib/framework'
Vue.use(Vuetify)
export default new Vuetify({
theme: {
options: {
customProperties: true
},
themes: {
light: {
primary: '#5E72E4'
}
}
}
})
更改所有 v-text-field 的颜色(聚焦或不聚焦)
现在,如果您想要更改轮廓的颜色,即使元素未获得焦点,您可以使用 SASS variable API。
如果您通过 Vue CLI 安装了 Vuetify,请创建一个 src/scss/variables.scss
文件:
$material-light: ( 'text-fields': (
'filled': rgba(0, 0, 0, 0.06),
'filled-hover': rgba(0, 0, 0, 0.12),
'outlined': rgba(0, 0, 0, 0.2),
'outlined-disabled': rgba(0, 0, 0, 0.1),
'outlined-hover': rgba(0, 0, 0, 0.4)
));
$text-field-outlined-fieldset-border: 1px solid currentColor;
这样你就可以完全控制焦点和初始状态。上面的示例使轮廓更亮,并将聚焦轮廓宽度减小到 1px;