小编Per*_*ack的帖子

ES6导出/导入索引文件

我目前正在通过webpack/babel在React应用程序中使用ES6.我正在使用索引文件来收集模块的所有组件并将其导出.不幸的是,这看起来像这样:

import Comp1_ from './Comp1.jsx';
import Comp2_ from './Comp2.jsx';
import Comp3_ from './Comp3.jsx';

export const Comp1 = Comp1_;
export const Comp2 = Comp2_;
export const Comp3 = Comp3_;
Run Code Online (Sandbox Code Playgroud)

所以我可以很好地从其他地方导入它,如下所示:

import { Comp1, Comp2, Comp3 } from './components';
Run Code Online (Sandbox Code Playgroud)

显然这不是一个非常好的解决方案,所以我想知道,如果有任何其他方式.我似乎无法直接导出导入的组件.

javascript ecmascript-6 webpack babeljs

182
推荐指数
5
解决办法
9万
查看次数

使用PHPExcel将数字读取为文本格式

我有一个可以存储数字的数组,如01,01A,01B,02,2,当我使用PHPExcel获取此值时,例如,在01,02的情况下,它被移除'0'.为了解决这个问题,我尝试格式化这些值将存储在excel中的行,并将其设置为文本类型,就像在下面的代码中一样:

    $objPHPExcel->setActiveSheetIndexByName('BlocksList');
    $objPHPExcel->getActiveSheet()->fromArray($blockNames, null, 'A2');
    $latestBLColumn = $objPHPExcel->getActiveSheet()->getHighestDataColumn();
    $column = 'A';
    $row = 1;
    for ($column = 'A'; $column != $latestBLColumn; $column++) {
        $objPHPExcel->getActiveSheet()->getStyle($column.$row)->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_TEXT );
    }
    $objPHPExcel->getActiveSheet()->fromArray($blockNames, null, 'A1');
Run Code Online (Sandbox Code Playgroud)

所以,通过这样做,我得到数字,如01,01A,02,02B ......并将其存储在行A2中.我得到最高的列在条件For中使用此值.在这种情况下,我设置A范围内的第1行,直到最高列,形成文本.

我的模板已生成,所有数字都是文本格式,但问题是我认为当我使用" fromArray()"方法时,它会转换数组的数字,然后才能在excel中正确使用它.你知道我怎么能解决这个问题?

php formatting phpexcel

16
推荐指数
4
解决办法
7万
查看次数

在 nextjs 区域之间共享组件的推荐方式?

上下文: 我正在构建一个带有 next 及其多区域功能的门户。这允许我们让多个 NextJS 应用程序由不同的团队独立运行,但作为一个应用程序。

问题: 我需要确保所有区域中的页眉、导航和页脚保持一致。为此,我希望在一个地方有一个组件,并在各个区域之间共享它。

不幸的是,nextjs 尚未原生支持 webpack 模块联合,因此我们无法从中受益。

我正在寻找方法来了解使用此功能的人们如何处理共享组件。我的研究和想法仅限于一个解决方案:为我想要共享的组件创建 npm 模块,并将其导入到区域中,然后在区域中传递我需要的数据。这是有代价的:对于像页眉和页脚这样的组件,至少,当发布新版本的包时,我们需要确保所有区域都更新为相同的版本。所以......它并不完美,但似乎就是这样。

我尝试查看NextJS GitHub 讨论,但不幸的是,那里的社区似乎不太活跃(已经有人问过这个问题了,你能在那里找到的唯一答案是我的)。

我决定尝试在这里问这个问题,因为观众更广泛,如果有更好的想法,也许你们可以给我一些启发。

javascript reactjs next.js micro-frontend

11
推荐指数
1
解决办法
3256
查看次数

是否可以使用phpexcel隐藏excel表?

我正在生成一个excel模板,我正在使用4张,其中3张只用于存储数组中的数据.这些数据正在数据验证列表中使用,因此我将保护添加到仅用于存储数据的3张纸上,但我想知道是否可以隐藏它们,以便用户在下载模板时,将无法看到这些表格,他不需要知道存在.

可能吗?

php phpexcel

7
推荐指数
1
解决办法
7734
查看次数

PHPExcel - 读取最后一行

我有点困惑PHPExcel的行为与我有一些文件.这些文件包含约.3000行数据,但根据PHPExcel,使用的最后一行是65535.我尝试从文件中删除几行并将它们粘贴到一个新文件中,但无济于事.无论是Excel5还是Excel2007格式,总是相同的结果.

有什么想法在这里找到错误?

码:

    $cr=$xls->getActiveSheet()->getHighestRow();
    $cn=PHPExcel_Cell::columnIndexFromString($xls->getActiveSheet()->getHighestColum??n()); 
    for ($z=2; $z<=$cr; $z++) { 
        $class=($z%2)?"odd":"even"; 
?> 
    <tr class="<?php echo $class; ?>"> 
    <?php for ($s=0; $s<$cn; $s++) { 
        $tmp=$xls->getActiveSheet()->getCellByColumnAndRow($s,$z)->getValue();?> 
        <td><?php echo $tmp; ?></td> 
    <?php } ?> </tr> 
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

phpexcel

5
推荐指数
2
解决办法
6341
查看次数

javascript验证为空或null(是否正确?)

如果输入字段为空,我正在使用javascript进行验证:

if($("#nu_username").val() == null || $("#nu_username").val() == ""){ 
    do action...
}
Run Code Online (Sandbox Code Playgroud)

它运作良好,但我想知道使用这两个条件是否多余.你知道吗?

javascript validation

5
推荐指数
1
解决办法
175
查看次数

有没有办法检测是否使用PHPExcel在Windows或Mac上生成了Excel文件?

我正在使用PHPExcel生成一个用户可以下载的xls模板,并用他想要的数据填充它.众所周知,excel以数字格式保存日期.我正在使用此函数转换数据并返回时间戳:

public static function excelToTimestamp($excelDateTime, $isMacExcel=false) {
    $myExcelBaseDate = $isMacExcel ? 24107 : 25569; // 1st jan 1904 or 1st jan 1900
    if (!$isMacExcel && $excelDateTime < 60) {
        //  Adjust for the spurious 29-Feb-1900 (Day 60)
        --$myExcelBaseDate;
    }
    // Perform conversion
    if ($excelDateTime >= 1) {
        $timestampDays = $excelDateTime - $myExcelBaseDate;
        $timestamp = round($timestampDays * 86400);
        if (($timestamp <= PHP_INT_MAX) && ($timestamp >= -PHP_INT_MAX)) {
            $timestamp = intval($timestamp);
        }
    } else {
        $hours = round($excelDateTime * 24);
        $mins = …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

5
推荐指数
1
解决办法
781
查看次数

ACL 建模 - 如何管理访问控制列表的“层次结构”?

我还在我的 ACL 项目中工作,我想对以下问题有一些想法:

我使用 MySQL 来存储我的用户、角色和权限。起初,我在我的 TABLE Roles 中创建了一个字段“parent_id”,我试图通过这个来管理每个用户的权限。这有点奏效,直到我意识到如果我添加一个新角色,管理层次结构和控制谁有权访问哪些资源真的很复杂。我做了一些搜索,我意识到使用关系数据库来处理层次结构真的很复杂,所以我放弃了使用层次结构。

我希望您能帮助找到管理用户创建的最佳解决方案:我有 4 个不同的用户:SuperAdmin、CustomerAdmin、Technician、client。例如,当我在页面中创建新用户时,我不想让技术人员创建类型为 CustomerAdmin 或 SuperAdmin 的新用户。

我想只让 SuperAdmin 创建一个新用户,但我的一个限制是我也必须让 CustomerAdmin 创建用户,也是技术人员。

试图更具说教性,超级管理员可以是我。客户管理员是我的客户,他有一家企业。在他的企业中,他可以创建两种类型的用户:技术人员和客户。

这只是一个例子,但如果我想创建一种新的角色,赋予他新的权限,我必须找到一种方法来拒绝他创建比他更强大的用户的权限。

我不确定我的问题是否客观,但欢迎任何可以与我讨论这个问题的人。

php acl database-permissions user-permissions

3
推荐指数
1
解决办法
2229
查看次数

HTML帮助 - 找到一种将隐藏值添加到td字段的方法

我有一个HTML表格,我正在构建一个编辑函数来更改此表中的字段.我希望您能找到一种方法来存储此字段中列出的数据的ID.事实上,我有一个具有所列数据的对象RoleName,在a里面<td>,我也想存储它的id,做类似的事情:

 foreach ($accountUsers as $accountUser){
      <td value="$accountUser->roleID">$accountUser->getRoleName()</td>
Run Code Online (Sandbox Code Playgroud)

问题是,这value不是一个属性td.我的约束是我必须继续使用该表.

html php

2
推荐指数
1
解决办法
197
查看次数

如何在php中使用in_array的子​​数组?

我需要验证一个值是否在数组中,并且我正在使用php函数in_array().我发现当我发送给in_array()函数的数组由子数组组成时,它不起作用.无论如何都要对子阵列进行此验证吗?为了帮助您理解我的问题,我有以下代码:

$userIds = array();
foreach($accounts as $account){
    $accounIds[] = $account->getId();
    $userIds[] = AccountUserBeanHome::findAllIdsByAccountId($account->getId());
}
$userId = 225;
if (in_array($userId, $userIds, true)) {
    do action...
}
Run Code Online (Sandbox Code Playgroud)

问题是数组$ userIds可能是这样的:

Array
(
[0] => Array
    (
        [0] => 225
        [1] => 226
        [2] => 227
        [3] => 228
        [4] => 229
        [5] => 230
        [6] => 340
        [7] => 355
    )

[1] => Array
    (
        [0] => 313
        [1] => 314
        [2] => 315
        [3] => 316
        [4] => …
Run Code Online (Sandbox Code Playgroud)

php arrays

2
推荐指数
1
解决办法
6409
查看次数

acl实现 - 哪种方式更高效:拒绝所有访问?

我正在尝试实现一个ACL,我想你的意见,哪个可能是最好的(更高性能)方式:

拒绝访问每个人并根据每个用户授予权限是否更好,或者默认情况下为每个人授予访问权限更好,并删除权限.

尝试更具体,想象我有3个用户:SuperAdmin,ClientAdmin,BasicMember.

ClientAdmin管理员几乎相同的权限的超级管理员,如见在系统中注册的每个用户,但他不能做任何修改,只是"读".

此时,我创建了一个函数,其中列出了用户的所有权限,在每个资源中,我检查currentUserRole和授权执行如下操作:

$acl = $this->generateAcl($roleId, AclResourceBean::ENTER_DATA, 'read'));
Run Code Online (Sandbox Code Playgroud)

所以..我希望你的意见知道是否最好检查:如果他有权限,showAction!或者如果他没有许可,请执行hideAction.(例如:对于刚刚读过其他用户权限的ClientAdmin,我应该隐藏"编辑"按钮,还是总是隐藏它更好,如果他没有权限,则显示!

php acl zend-framework access-control rbac

1
推荐指数
1
解决办法
195
查看次数

如何在react-router v6中使用useNavigate迁移useHistory.replace(x, y)?

我正在将react-router-dom从v5升级到v6,代码库我还不完全熟悉,我很好奇如何替换以下代码:

const history = useHistory();
history.replace(url, params);
Run Code Online (Sandbox Code Playgroud)

在文档中,它们仅显示在存在 1 个参数的情况下您将执行的替换操作。所以如果我有:

history.replace(url) 
Run Code Online (Sandbox Code Playgroud)

我会简单地做:

const navigate = useNavigate();
navigate(url, {replace: true})
Run Code Online (Sandbox Code Playgroud)

如何确保第二个参数与 useNavigate 挂钩一起保留?

我很想这样做:

const navigate = useNavigate();
navigate(url, params)
Run Code Online (Sandbox Code Playgroud)

或者

const navigate = useNavigate();
navigate(url, { state: params })
Run Code Online (Sandbox Code Playgroud)

怎样更换才不会造成影响呢?

javascript frontend reactjs react-router react-router-dom

1
推荐指数
1
解决办法
7049
查看次数