最近入了quill的坑,花点时间看了一下。只写了一个toolbar,后面补充再补充。
model: toolbar: header:
若配置了header并且为空,这时会有四个标题:
如果配置如下:
[{
'header'
:
1
},{
'header'
:
2
}],
所以header的属性如果是数组,那么将会有下拉,看下面的例子:
[{
'header'
: [
1
,
2
,
3
,
4
,
5
,
6
,
false
] }],
.ql-bubble .ql-picker.ql-header .ql-picker-label::before,
.ql-bubble .ql-picker.ql-header .ql-picker-item::before {
content: 'Normal';
.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
content: 'Heading 1';
.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
content: 'Heading 2';
.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
content: 'Heading 3';
.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
content: 'Heading 4';
.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
content: 'Heading 5';
.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
content: 'Heading 6';
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
font-size: 2em;
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
font-size: 1.5em;
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
font-size: 1.17em;
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
font-size: 1em;
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
font-size: 0.83em;
.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
font-size: 0.67em;
model: toolbar: bold:
配置之后 ,将会导航栏出现加粗按钮
model: toolbar: italic:
配置之后 ,将会导航栏出现斜体按钮
model: toolbar: background:
model: toolbar: color:
配置之后 ,将会导航栏出现背景色选择器按钮,和字段颜色选择器
但如果只是配置一个空的,那么这个按钮不会出现颜色选择器,一般会配置一个默认,空字符串。
如:[{ 'background': [] }],
默认颜色如下:
js那边颜色值 为:
var defaultColors = [
'rgb( 0, 0, 0)', 'rgb(230, 0, 0)', 'rgb(255, 153, 0)',
'rgb(255, 255, 0)', 'rgb( 0, 138, 0)', 'rgb( 0, 102, 204)',
'rgb(153, 51, 255)', 'rgb(255, 255, 255)', 'rgb(250, 204, 204)',
'rgb(255, 235, 204)', 'rgb(255, 255, 204)', 'rgb(204, 232, 204)',
'rgb(204, 224, 245)', 'rgb(235, 214, 255)', 'rgb(187, 187, 187)',
'rgb(240, 102, 102)', 'rgb(255, 194, 102)', 'rgb(255, 255, 102)',
'rgb(102, 185, 102)', 'rgb(102, 163, 224)', 'rgb(194, 133, 255)',
'rgb(136, 136, 136)', 'rgb(161, 0, 0)', 'rgb(178, 107, 0)',
'rgb(178, 178, 0)', 'rgb( 0, 97, 0)', 'rgb( 0, 71, 178)',
'rgb(107, 36, 178)', 'rgb( 68, 68, 68)', 'rgb( 92, 0, 0)',
'rgb(102, 61, 0)', 'rgb(102, 102, 0)', 'rgb( 0, 55, 0)',
'rgb( 0, 41, 102)', 'rgb( 61, 20, 10)',
].map(function(color){ return { value: color } });
当然 完成 可以自己设置颜色:
如配置成:
[{ 'background': ['rgb( 0, 0, 0)', 'rgb(0, 255, 0)'] }],
将只会出现黑和绿两色。
model: toolbar: underline:
配置之后 ,将会导航栏出现设置下划线按钮。
model: toolbar: strike:
配置之后 ,将会导航栏出现设置删除线按钮。
model: toolbar: blockquote:
配置之后 ,将会导航栏出现设置块的按钮
model: toolbar: font:
配置之后 ,将会导航栏出现设置字体的下拉的按钮
如果配置:[{ 'font': [] }] 为默认字段,默认字体为:
{ label:'Sans Serif', value:'sans-serif', selected:true },
{ label:'Serif', value:'serif' },
{ label:'Monospace', value:'monospace' }
如果定制字体,可配置如下:
[{ 'font': ['微软雅黑','宋体','黑体']}],
不过要对两个字体配置css,对应的格式如下:
.ql-bubble .ql-picker.ql-font .ql-picker-label::before,
.ql-bubble .ql-picker.ql-font .ql-picker-item::before {
content: 'Sans Serif';
.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
content: 'Serif';
.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
content: 'Monospace';
.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
font-family: Georgia, Times New Roman, serif;
model: toolbar: font:
配置之后 ,将会导航栏出现设置字体大小的下拉的按钮
如果配置:[{ 'size': [] }] 为默认字段,默认字体为:
{ label:'Small', value:'10px' },
{ label:'Normal', value:'13px', selected:true },
{ label:'Large', value:'18px' },
{ label:'Huge', value:'32px' }
也可以自定义 ,与font一样。需要css 追加方式 。
model: toolbar: list:
编号有两种试,一种是按序号,一种是点号
格式分别如下:
[{ 'list': 'ordered' }],
[{ 'list': 'bullet' }],
model: toolbar: indent:
按tab移位
[{ 'indent': '-1' }],
[{ 'indent': '+1' }],
格式如下,上面的,表示向左移动一个tab,下面的,表示向右移动一个tab
model: toolbar:link:添加连接
['link']
操作方式,选中一段文本,点击link,会弹出输入 url的输入框。
model: toolbar:image:
[ 'image'],
插入图片的按钮,点击后会在弹出打开本地图片的对话框
model: toolbar:video
['video'],
插入视频按钮,点击后会弹出输入视频URL的输入框。
model: toolbar:clean
['clean'],
清除样式按钮。将之前给内容添加样式进行清除。
对后的toobar如下:
const modules = {
toolbar: [
[{ 'header': [1, 2, 3, 4, 5, 6, false] }],
[{ 'font': []}],
[{ 'size': [] }],
['bold'],
['italic'],
[{'background': []}],
[{'color': []}],
['underline'],
['strike'],
['blockquote'],
[{ 'list': 'ordered' }],
[{ 'list': 'bullet' }],
[{ 'indent': '-1' }],
[{ 'indent': '+1' }],
['link'],
[ 'image'],
['video'],
['clean'],