grapesjs实现Trait标签组件属性面板自定义输入示例代码
代码语言:html
所属分类:其他
代码描述:grapesjs实现Trait标签组件属性面板自定义输入示例代码,通过a标签的href来重写设置href的输入方式,加入下拉来进行个性化定制。
代码标签: grapesjs Trait 标签 组件 属性 面板 自定义 输入 示例 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1-dev.js"></script> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapesjs-preset-webpage.min.css"> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapes.min.css"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/grapes.min.js"></script> <!--引入grapesjs-preset-webpage--> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapes.min.css"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/grapesjs-preset-webpage.min.js"></script> <style> body, html { height: 100%; margin: 0; } </style> </head> <body> <div id="gjs"> <h1>Hello World Component!</h1> <div id="gjs"> <a href="#">Link 1</a> <br/> <br/> <br/> <a href="#">Link 2</a> </div> </div> <script> const hrefNextTrait = (editor) => { // Update default link component editor.DomComponents.addType('link', { model: { defaults: { traits: [ { type: 'href-next', name: 'href', label: 'New href', }, ] } } }); editor.TraitManager.addType('href-next', { noLabel: true, // Return a simple HTML string or an HTML element createInput({ trait }) { // Here we can decide to use properties from the trait const traitOpts = trait.get('options') || []; const options = traitOpts.lenght ? traitOpts : [ { id: 'url', name: 'URL' }, { id: 'email', name: 'Email' }, ]; // Create a new element container add some content const el = document.createElement('div'); el.innerHTML = ` <select class="href-next__type"> ${options.map(opt => `<option value="${opt.id}">${opt.name}</option>`) .join('')} </select> <div class="href-next__url-inputs"> <input class="href-next__url" placeholder="Insert URL"/> </div> <div class="href-next__email-inputs"> <input class="href-next__email" placeholder="Insert email"/> <input class="href-next__email-subject" placeholder="Insert s.........完整代码请登录后点击上方下载按钮下载查看
网友评论0