fastadmin使用art-templat动态添加表单元素
如果想要在表单中动态创建表单数据,例如:会员的信息可能会有多个不同的会员类型,如果用vue,很容易实现。而fastadmin则可以使用art-templat来实现。
上面的截图来源于网络,默认情况下只能创建横向的表单提交数据。如果想要创建多个输入框、textarea输入框,上面那种横向的肯定不行,需要调整下代码,才可以支持。
下面是效果截图:
当然,具体样式肯定可以调整的,代码示例:
<h3 class="text-center">{:__('Membership Information')}</h3>
<div class="fieldlist" style="margin: 20px 0;" data-name="row[base_sku_info]" data-template="basesku">
<dd></dd>
<dd class="text-center">
<a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Add Membership')}
</a>
</dd>
<textarea name="row[base_sku_info]" class="form-control hide" cols="30" rows="5">{}</textarea>
</div>
<script type="text/html" id="basesku">
<dd style="display: block;">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Fax')}:</label>
<div class="col-xs-12 col-sm-8">
<input style="width: 100%;" class="form-control" name="<%=name%>[<%=index%>][multiple]" type="text" value="<%=row.multiple%>">
</div>
</div>
<div class="form-group text-center">
<span class="btn btn-sm btn-danger btn-remove">
<i class="fa fa-times"></i>
</span>
<span class="btn btn-sm btn-primary btn-dragsort">
<i class="fa fa-arrows"></i>
</span>
</div>
</dd>
</script>
要注意看以下几处代码:
class="fieldlist"
<dd></dd>