rongyao

Results 7 comments of rongyao

stackblitz 的模板方便提供个14的版本吗,现在13的这个版本,自定义过滤器的时候,初始化阶段就会报错。 好像是13.5.0的版本的时候做过一次修复,说到这好像我自行改package.json好像大概也行。 自定义过滤的思路可以先说一下。 就用了个过滤图标了,剩下的模板自定义,按钮也自定义,然后点击确定过滤的时候,把过滤的数据存到service里,req的预处理函数process会拿到这些数据,然后处理http的请求参数。 所以我点击自定义的确定按钮后,要把default改成1,这样按钮就高亮了。(改成ture查询会无法进行,这个上面提到过) 然后我清除高亮本来是这么写的: ``` function cleanFilter(col: _STColumn, columnSource: STColumnSource) { columnSource.cleanFilter(col); col.filter = { ...col.filter }; } ``` 用了as any 大法拿到了私有的columnSource,但是这里也报错死掉了,主要是cleanFilter方法对menus做了非空断言。 所以没办法代码就改成了上面写的那样。 另外这个清除过滤,除了自定义过滤器会用,自带的的过滤器也会用,过滤条件以标签的形式可视化展示给了用户,用户点掉标签的时候,过滤条件也会清除。 我不确定自己塞个假的menus会怎么样,可能会和本来的过滤逻辑产生冲突,主要也是觉得有点多余就没大尝试。 其实本质上的需求就是要手动控制过滤图标的高亮与否。

大佬给力,现在还有有另一个需求,不知道有没有必要实现,这里先讨论下。 就是STColumnFilter的custom目前只支持传入模板,导致所有的页面上都会有固定的样板代码,比如: ``` ``` 再然后不方便的地方就是需要在OnInit初始化方法里才能设置custom的模板,而我这边stColumn是和组件脱离的,放在了service里,主要是为了其它页面复用column。 这就导致主体的stColumn定义在service里,然后filter模板的设置要在页面组件的初始化方法里。 当然我的st本身是挂了层指令的,这样把设置filter模板的工作转移到指令里自动执行应该也是可行的。 总得来说这不是个必需的需求,实现难度大就可以不考虑,当然有的话,代码也可以简洁灵活不少。

模板放到组件里,再塞到service里,这个确实也试过。主要问题就是依赖注入会比较麻烦,我现在每个增删改查的页面都是有独立的一套service,当我把模板放到页面之外的某个地方,虽然是可以拿到模板,但是里面的页面级别的服务会注入不了。 当然这也不是不能解决,比如我可以把需要注入的服务,塞到column里,然后组件再从column里获取,但是用起来可能也会感觉有点怪。 然后现在过滤组件已经是封了一层,把primeng的表格过滤器p-columnFilter抄了过来,用zorro的重写了视图,column-filter-st是连接column-filter与st的,主要是根据st的column属性自动设置column-filter所需要的属性。 不过之前没想过再封一层,现在看来如果要进一步减少样板代码,再封一层也是个很好的选择,起码3行可以变1行,而且也有利于后期维护。

> 大佬有解决方案吗? 升级到最新的IOS_SDK仍然存在这个问题 你好,可以请教一下,如何把IOS_SDK升级到新版呢 我现在因为UIWebview的问题导致苹果上架被拒,插件使用了旧版的SDK。

我遇到了同样的问题,现在IOS审核无法通过。这个问题目前有办法解决吗?

> 很简单 自定义一列就行了实例代码如下: `Columns: STColumn[] = [{ title: '自定义', renderTitle: 'customTitle', render: 'custom' }];` 不是要简单的自定义列,具体可以看看stackblitz里的demo里下方的卡片列表。