我一直在尝试将图标添加到我的保存、删除等按钮中。我有大约五个按钮使用<g:actionSubmit>
标签来调用控制器中的动作来执行相应的功能。我的问题是 FontAwesome 和 bootstrap 的字形需要<i class="icon-***">
标签的使用方式如下:
<a href="http://google.com">
<i class="icon-ok"></i> Google
</a>
在 grails 中,初始标记之间的标记格式是不可能的(至少对于actionSubmit
)。 value 属性是显示的字符串。有解决办法吗?请记住,我仍然需要将按钮操作映射回控制器,这就是为什么我在使用直接按钮时遇到问题<button>
标签类似于引导程序推荐的标签。
UPDATE:
我在使用当前的 2 个答案时遇到很多问题。它们都可以用于添加图标,但我遇到了一些麻烦,我必须修改很多东西才能修复。我想到了另一种解决方案,但在实施时遇到了一些问题。我想使用标签库的基础作为下面的 actionSubmit 标签库来编写自己的标签库:
def actionSubmit = {attrs ->
attrs.tagName = "actionSubmit"
if (!attrs.value) {
throwTagError("Tag [$attrs.tagName] is missing required attribute [value]")
}
// add action and value
def value = attrs.remove('value')
def action = attrs.action ? attrs.remove('action') : value
out << "<input type=\"submit\" name=\"_action_${action}\" value=\"${value}\" "
// process remaining attributes
outputAttributes(attrs)
// close tag
out << '/>'
}
我需要做的唯一改变是让它能够接受
<i class="icon-ok"></i>
之间的标记:
<g:actionSubmit ...> </g:actionSubmit>
有人对此实施有建议或建议吗?
不要使用actionSubmit,只使用a<button>
并提供链接/操作属性,如下所示:
<button type="submit" class="btn">
<i class="..."></i> Update
</button>
这是一个更详细的例子
<button type="submit" class="btn btn-danger" name="_action_delete" value="Delete">
<i class="..."></i> ${message(code: 'default.button.delete.label', default: 'Delete')}
</button>
注意:actionSubmit 传递以下输入名称/值以进行更新、保存和删除
name="_action_update" //update
name="_action_update" //save
name="_action_delete" //delete
因此,如果您的应用程序依赖于它们,您只需要执行相同的操作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)