fastadmin树形表格

数据库结构如下

image.png

控制器引入Tree类

use fast\Tree;

分配数据给添加、编辑页面

$ruleList = collection($this->model->order('id', 'asc')->select())->toArray();

Tree::instance()->init($ruleList);
$this->rulelist = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0), 'name');
$ruledata = [0 => __('无')];
foreach ($this->rulelist as $k => &$v) {
    $ruledata[$v['id']] = $v['name'];
}
unset($v);
$this->view->assign('ruledata', $ruledata);

改造index方法 不需要分页

public function index()
{
    if ($this->request->isAjax()) {
        $list = $this->rulelist;
        $total = count($this->rulelist);
        $result = array("total" => $total, "rows" => $list);
        return json($result);
    }
    return $this->view->fetch();
}

编辑页面的代码

<div class="form-group">
    <label class="control-label col-xs-12 col-sm-2">{:__('上级')}:</label>
    <div class="col-xs-12 col-sm-8">
        {:build_select('row[pid]', $ruledata, $row['pid'], ['class'=>'form-control', 'required'=>''])}
    </div>
</div>

JS文件修改

 {
    field: 'name', title: __('Name'), align: 'left', formatter: function (value, row, index) {
        return value.toString().replace(/(&|&amp;)nbsp;/g, '&nbsp;');
    }
},

最终效果

image.png

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容