首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果以编程方式设置初始值,则Dojo InlineEditBox将清除单击。

如果以编程方式设置初始值,则Dojo InlineEditBox将清除单击。
EN

Stack Overflow用户
提问于 2017-05-05 03:13:15
回答 1查看 119关注 0票数 0

Dojo InlineEditBox允许用户单击一段文本,将其转换为编辑框,并允许对文本进行编辑(然后可以保存或取消更改)。

在我的例子中,我需要以编程的方式覆盖文本框的初始值(实际上是从REST调用)。dojo (我猜想)会导致InlineEditBox在单击它时被重置为初始值,然后您将“编辑”一个文本框,该文本框与单击之前的文本不同--不是最佳的UX。当InlineEditBox首先在以编程方式设置值之前创建时,Dojo似乎会保存该值,然后在框切换到编辑模式时应用该初始值。

因此,如果我有一个div,比如文本“初始值”和id="testDiv",在我的JavaScript中是这样的:

代码语言:javascript
复制
require(["dijit/InlineEditBox", "dijit/form/Textarea", "dojo/domReady!"],
    function(InlineEditBox, Textarea) {
  var editBox = new InlineEditBox({
    editor: Textarea,
    autoSave: false
  }, "testDiv").startup();
  var editText = "Click to edit text...";
  dojo.byId("testDiv").innerHTML = editText; // <-- what can I do instead?
});

然后,在其正常状态下,该框包含“单击编辑文本.”,但当我单击编辑该文本时,只剩下编辑文本“初始值”。

这是一个用小提琴演示这个问题

因此,我的问题是:如何设置Dojo InlineEditBox的“保存值”以覆盖它在创建时保存的初始值?(在我的示例中,我将div保持为空,并在编辑模式下清除该框。)我曾在控制台中玩过,我可以看到一堆我可以使用box对象做的事情,我查看了文档,但是除了给它的innerHTML赋值之外,找不到其他方法来设置值。

检索我想要设置的值的调用是异步的,所以我不能在创建该框时设置它,它必须是事后调用。如果没有其他方法,可以考虑从Dojo1.7迁移到一个更新的版本,但这意味着一定要进行一些回归测试,所以如果可能的话,我希望使用1.7。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-05 05:38:13

这不是一个bug,只是对小部件的不当使用。实际上,文本节点(在doubleclick之前)和编辑模式下的textarea是两个不同的DOM元素。如果您分配一个人的innerHTML属性,则第二个属性保持不变。

不要将文本分配给innerHTML,而是设置小部件的值:

代码语言:javascript
复制
require([
  "dijit/InlineEditBox", "dijit/form/Textarea", "dojo/domReady!"
], function(InlineEditBox, Textarea) {
  var editBox = new InlineEditBox({
    editor: Textarea,
    autoSave: false
  }, "testDiv");
  editBox.startup();
  var editText = "Click to edit text...";
  editBox.set("value", editText);
});
代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dijit/themes/claro/claro.css" />
<div id="testDiv">initial</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43795911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档