行内编辑

未匹配的标注
本文档最新版为 2.x,旧版本可能放弃维护,推荐阅读最新版!

数据表格行内编辑

数据表格所有使用行内编辑的列字段,都必须在form表单中定义一个相同的表单字段,否则将无法进行编辑。

文本 (editable)

Since v1.4.0

启用

$grid->column('title')->editable();

// 编辑成功后刷新页面
$grid->column('nickname')->editable(true);

效果

开关 (switch)

快速将列变成开关组件,使用方法如下:

$grid->status()->switch();

这个功能需要你在form表单方法中同样设置一个status字段

$form->hidden('status')
    ->customFormat(function ($v) {
        return $v == '打开' ? 1 : 0;
    })
    ->saving(function ($v) {
        return $v ? '打开' : '关闭';
    });

// 或者
$form->switch('status')
    ->customFormat(function ($v) {
        return $v == '打开' ? 1 : 0;
    })
    ->saving(function ($v) {
        return $v ? '打开' : '关闭';
    });

Since v1.7.0

编辑成功后刷新页面

$grid->column('status')->switch('', true);

开关组 (switchGroup)

注意:在grid中对某字段设置switchGroup默认的保存结果是01,如需修改可以通过$form->hidden(xxx)->saving(...)方法修改。

快速将列变成开关组件组,使用方法如下:

$grid->switch_group->switchGroup([
    'hot'        => '热门',
    'new'        => '最新',
    'recommend'  => '推荐',
    'image.show' => '显示图片', // 更新对应关联模型
]);
// 或
// 不写label会自动从翻译文件翻译,具体使用请参照 “字段翻译” 章节
$grid->switch_group->switchGroup(['is_new', 'is_hot', 'published']);

这个功能需要你在form表单方法中同样设置对应的字段

$form->switch('hot')
    ->customFormat(function ($v) {
        return $v == '打开' ? 1 : 0;
    })
    ->saving(function ($v) {
        return $v ? '打开' : '关闭';
    });

$form->switch('new')
    ->customFormat(function ($v) {
        return $v == '打开' ? 1 : 0;
    })
    ->saving(function ($v) {
        return $v ? '打开' : '关闭';
    });

Since v1.7.0

编辑成功后刷新页面

$grid->column('switch_group')->switchGroup([...], true);

下拉选框

$grid->options()->select([
    1 => 'Sed ut perspiciatis unde omni',
    2 => 'voluptatem accusantium doloremque',
    3 => 'dicta sunt explicabo',
    4 => 'laudantium, totam rem aperiam',
]);

select 也支持参数为闭包,使用方法和editableselect类似。

Since v1.7.0

编辑成功后刷新页面

$grid->column('options')->select([...], true);

单选框

$grid->options()->radio([
    1 => 'Sed ut perspiciatis unde omni',
    2 => 'voluptatem accusantium doloremque',
    3 => 'dicta sunt explicabo',
    4 => 'laudantium, totam rem aperiam',
]);

radio 也支持参数为闭包,使用方法和editableselect类似。

Since v1.7.0

编辑成功后刷新页面

$grid->column('options')->radio([...], true);

多选框

$grid->options()->checkbox([
    1 => 'Sed ut perspiciatis unde omni',
    2 => 'voluptatem accusantium doloremque',
    3 => 'dicta sunt explicabo',
    4 => 'laudantium, totam rem aperiam',
]);

checkbox 也支持参数为闭包。

Since v1.7.0

编辑成功后刷新页面

$grid->column('options')->checkbox([...], true);

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
发起讨论 只看当前版本


暂无话题~