PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #943💬 已回答提出于 2018年3月9日作者 nojacko0 个反应

:勾选框特性未勾选时不移除属性

快速解答作者 nojacko

@artf 感谢你的快速解决方案,但似乎没用。检查Grapes源代码和调用'getHtml()'都会返回'required=“true”和“required=”false“。我猜是因为属性是一个以字符串表示的布尔值。 我会尽力帮忙,但不幸的是,我因为GDPR规则的出台时间异常紧张。

阅读下方完整回答 ↓

问题

当 html 属性为真或假时,应该要么存在,要么不存在。

例如, required。HTML5 中没有这个值。

  • 有效(非必需):<input type="text">
  • 有效(必填): <input type="text" required>
  • 无效(非必需):<input type="text" required="false">
  • 无效(必填):<input type="text" required="true">

当 HTML grapes 在 Grapes 外渲染并检查输入是否需要时,这个方法失败了,因为 Chrome 总是返回 true required 属性是否被设置......无论值是多少。

我自己也在研究这个问题,但还没弄明白,看起来Components需要一个 removeAttribute 函数来处理这个问题。

抱歉,我赶时间,周一我会提供小提琴......

回答(3)

nojacko• 2018年3月12日

@artf 感谢你的快速解决方案,但似乎没用。检查Grapes源代码和调用'getHtml()'都会返回'required=“true”和“required=”false“。我猜是因为属性是一个以字符串表示的布尔值。

我会尽力帮忙,但不幸的是,我因为GDPR规则的出台时间异常紧张。

mikereem• 2019年5月2日

我认为提交9a71368还不够。它可以正常写入没有布尔属性值的 html 输出。但当编辑者再次读取输出时,布尔属性并未被初始化。如果 HTML 中显示了布尔属性(意味着该值为真),那么编辑器会用值 “” 初始化该属性,而不是 true。

相关问答

通过相似的问题讨论继续研究。

问题 #701

在编辑器中修改组件会清除模型内容

我想实现的目标: 我在编辑器中拉入的一些组件上有特殊的“data-”属性。当其中一个被修改时,我想获取“data-”属性的值和新内容。我有代码监听组件被修改。当这个事件触发时,我正在查看内容(正在进行中)。然而,当我拿到内容时,它是空的,尽管组件本身并没有...... 问题似乎...

3 个回答更新于 2019年9月18日

问题 #871

第一次选择组件/块时样式管理器选项错误

你好, 我注意到样式管理器出现了以下bug行为:使用本地版本 GrapesJS (版本0.14.5)。在Chrome和Firefox上的Win10和OSX测试GrapesJS 初始化,组件通过loadComponents加载。 (例如,这是我在演示中使用的 JSON 格式,加载...

3 个回答更新于 2019年9月18日

问题 #1985

远程存储的自动保存不会发送网络请求

操作系统:Windows 10 浏览器:Chrome 73 GrapesJS 版本:'0.14.57' 我用这个调用 'grapesjs.init()' 配置了远程存储: 虽然我在Chrome开发工具的网络标签里看到“/load”请求触发,但无论我在编辑器里做多少修改,都没看到...

3 个回答更新于 2020年5月6日

问题 #1696

特质首次出现在自定义组件的拖拽中

你好,artf,我创建了自定义组件并为它添加了特征,当拖动这个组件到编辑器并选择它时,设置特征是正常工作的。 问题是,当将同一个组件拖到旧组件后面到编辑器并选择设置特征时,默认特征(ID,标题)会只显示,这是我实现的代码 对于创建组件: this.editor.BlockMan...

3 个回答更新于 2020年4月15日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。