Skip to main content
ArcBlock Community

默认值不生效

Kawa
Support
pages-kitqaresolved

image.png

image.png

javascript
import React from '@blocklet/pages-kit/builtin/react';
import { Box } from '@blocklet/pages-kit/builtin/mui/material';

const DividerBar = ({ height_key = '30px', color = '#a4a4a4' }) => {
  // Blue color
  return (
    <Box
      sx={{
        width: '100%',
        height: height_key,
        backgroundColor: color,
      }}
    />
  );
};

export default DividerBar;

5 replies

xiaoliang16 months ago

我觉得这是一个正常的逻辑?

Text 类型的属性设置了默认的时候,在页面上添加组件,会自动在属性输入框中填入设置的默认值。

如果用户在界面中删除了输入框中的内容,这个属性的值是空字符串,而不是 null ,这个时候是不会使用默认值,可能用户就是想输入空值。

JS 的执行也是类似的逻辑,您代码中的尝试去设置默认值:

javascriptCopy
const DividerBar = ({ height_key = '30px', color = '#a4a4a4' })

只有当 color 参数没传的时候才会使用默认值,传了空字符串 JS 的逻辑也不会使用设置的默认值。

Kawa16 months ago

1748396157944.jpg

1748395961525.jpg

1748395934760.jpg

1748395903531.jpg

都试了一遍,也不见默认值生效啊

xiaoliang16 months ago

下面参数这里的默认值已经被删了,你可以把组件添加到一个页面中,可以看到,默认值会自动填到输入框中

是通过自动填上默认值来使用设置的默认值,而不是输入框填空值的时候回退到默认值,因为我们觉得 Text 类型的属性,空字符串是有意义的

image.png

Kawa16 months ago

好的

Kawa16 months ago

image.png

试了一下跟你说的一样,感谢你的回复

Reply