利用“data-format-item”自定义selectpage输入框

FastAdmin动态下拉列表,利用data-format-item,可以自定义列表行,那输入框内容怎么自定义?

先试过追加属性,达到目的,但有些地方不想要追加的属性,却不好去掉。

最后,打开require-form.jsrequire-backend.min.js,在Form.events.selectpage插入如下代码:

$('.selectpage', form).each(function () {
    var $this = $(this);
    if($this.attr('data-field')) return;
    if(!$this.attr('data-format-item')) return;

    if($this.val()) {
        //“编辑”视图,等初始数据返回,调整一下输入框内容
        var observer = setInterval(() => {
            var selectPage = $this.data('selectPageObject');
            if (!selectPage || !selectPage.data) return;
            afterInput(selectPage.data[0], selectPage);
            clearInterval(observer);
        }, 100);
    }

    $this.data("eSelect", afterInput);

    function afterInput(selectItem, selectPage) {
        if(!selectItem) return;
        if(!selectPage) return;
        var text = selectPage.option.formatItem(selectItem);
        var $other = $this.closest('div.sp_container').find('input.sp_input');
        $other.val(text);
    };
});

调整相应view,不要指定"data-field",必须填写"data-format-item",例如:

<input id="c-book_id" data-rule="required" data-source="book/index" data-order-by="id" data-format-item="{id} {name}" data-search-field="id,name" class="form-control selectpage" name="row[book_id]" type="text" value="">
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值