2

我想在 html 中执行此操作:

<div class="input-group" id="name">
    <input type="text" class="form-control" name="name" placeholder="Name">
    <span class="input-group-addon"><a href="#" class="none" id="name">None</a></span>
</div>

我在 GWT Bootstrap 中尝试这个:

<b:InputGroup>
    <b:TextBox b:id="name" placeholder="Name"/>
    <b:InputGroupAddon>
        <b:Anchor ui:field="noName" text="None"/>
    </b:InputGroupAddon>
</b:InputGroup>

但因此我得到了错误:

Illegal child <b:Anchor text='Name' ui:field='noName'> in a text-only context. Perhaps you are trying to use unescaped HTML where text is required, as in a HasText widget?: <b:InputGroupAddon> (:56)

为什么?b:Anchor 实现 HasText 接口。

我的目标是添加一个链接,当用户单击输入时,该链接将填充值 NONE

4

1 回答 1

1

HasText位是关于InputGroupAddon,不是Anchor。“纯文本上下文”(通过实现暗示HasText)意味着您只能将文本放入该小部件中。通过text属性 ( <b:InputGroupAddon text='Name' />) 或标签 ( <b:InputGroupAddon>Name</b:InputGroupAddon>) 内部 - 这些声明是等效的。您不能将未转义的 HTML 或小部件放在这样的上下文中。

对于您的用例,我建议使用按钮(如 Bootstrap 文档所建议的那样):

<b:InputGroup>
  <b:TextBox b:id="name" placeholder="Name" />
  <b:InputGroupButton>
    <b:Button ui:field="noName" text="None" />
  </b:InputGroupButton>
</b:InputGroup>

查看演示以查看它的实际效果。您可以轻松地根据您的需要对其进行样式设置(可能没有文本,只有一个icon = "ERASER")。

于 2015-05-20T16:37:30.187 回答