Derrick.Jiao 发表于 2022-8-15 11:08:24

[表格编辑器]旋转器(Spinner)按钮的实现

组件化表格编辑器发布至今已经有比较长的时间了,相信大家基本都会添加一些简单的按钮,像是checkbox、下拉按钮等。那这篇文章主要介绍一个特殊的类型,叫做Spinner,可以理解为旋转器,或者叫微调器。
像是页面布局




以及单元格格式里面都会用到这个类型


作用是什么呢?顾名思义就是用于调整一些需要微调的属性,例如缩放比例、边距、缩进等。当然,你也可以根据需求开阔更多使用场景。

那么怎么添加呢?方法和定义普通的button的类似,我们需要指定一个type为spinner,并且给定一个commandOptions对象。里面包含可以配置旋转器的最大最小值以及步长。
type: "spinner",
                        commandOptions: {
                                numberEditorOption: {
                                        min: 10,
                                        max: 400,
                                        step: 5,
                                }
                        },

最后就是处理execute和getState方法,可能有一些朋友对getState方法不太理解。可以简单理解为刷UI的时候会触发这个方法,这个是为了保证ribbon的状态能够更新。下面的checked是我们可以获取并调整个的旋转器的值。
execute: function (context, propertyName, checked) {
                                context.setData('spinnerVal', checked);
                        },
                        getState: function (context, propertyName) {
                                var result = context.getData('spinnerVal');
                                return result ? result : 0;
                        }实现效果如图


下载附件即可查看完整demo。


页: [1]
查看完整版本: [表格编辑器]旋转器(Spinner)按钮的实现