难以将Quill链接工具提示添加到自定义主题

时间:2016-11-22 21:20:41

标签: javascript quill

我一直在搜索文档,以获取有关如何将链接工具提示实现为非标准主题(例如,不是雪或泡沫)的指导,但我遇到了问题。

阅读文档here使我认为在初始化Quill实例时需要向modules.toolbar添加一个处理程序对象,如下所示:

        let editor = new Quill(`#${id}-editor`, {
            bounds: element[0],
            formats:
                without(
                    ctrl.formats() ?
                        ctrl.formats()
                    : formats,
                    'paste',
                    'fullscreen'
                ),
            modules: {
                toolbar: {
                container: `#${id}-toolbar`,
                    handlers: {
                        link: ( value ) => {
                                if (value) {
                                    let href = 'http://www.google.nl';
                                    editor.format('link', href);
                                 } else {
                                    editor.format('link', false);
                                 }
                        }
                    }
                }
            }
        });

在我的实例中,当按下工具栏中的链接按钮时会调用处理函数,但value始终是false。为什么呢?

1 个答案:

答案 0 :(得分:0)

单击工具栏按钮时会调用handlers。传入的value参数为true或false,具体取决于该格式是否存在于当前选择范围内。因此,如果用户突出显示现有链接并单击链接按钮,则value将为false。否则,这将是真的。如果按钮具有data-value属性但与您的问题无关,则它可以是非布尔值。

因此,在Snow中,它添加了一个自定义处理程序,以在value为真时显示链接编辑器工具提示。当值为true时,它只是调用API来删除链接。