+
95
-

回答

blockManager.add可增加组件。

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapes.0.21.1.css">
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/grapes.0.21.1.js"></script>
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapesjs-component-code-editor.min.css">
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/grapesjs-component-code-editor.min.js"></script>
<style>
body, html {
margin: 0;
height: 100%;
}


.my-block {
padding: 10px;
background-color: #f2f2f2;
border: 1px solid #ccc;
}

.title {
font-size: 20px;
color: red;
}

.description {
font-size: 16px;
color: #666;
}
</style>
</head>

<body>

<div id="gjs">

</div>


<script>
const editor = grapesjs.init({
container: '#gjs',
height: '100%',
fromElement: true,
storageManager: false,


//...

});

const blockManager = editor.BlockManager;

blockManager.add('my-block', {
label: 'My Block',
category: 'Basic',
content: '<div class="my-block"><h2 class="title">My Block</h2><p class="description">This is my custom block</p></div>',
attributes: {
// 在这里定义属性
myAttribute: {
// 属性的默认值
default: 'default-value',
// 属性的标签(显示在属性面板中)
label: 'My Attribute',
// 属性的类型(文本、颜色、下拉框等)
type: 'text'
}
}
});
</script>
</body>

</html>


网友回复

我知道答案,我要回答