Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { TdSwiperProps } from './type';
export const swiperDefaultProps: TdSwiperProps = {
animation: 'slide',
autoplay: true,
cardScale: '210/332',
cardScale: 210 / 332,
defaultCurrent: 0,
direction: 'horizontal',
duration: 300,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export default {
/** 卡片模式下非当前展示轮播图的缩放比例 */
cardScale: {
type: Number,
default: 210/332,
},
/** 当前轮播在哪一项(下标) */
current: {
Expand Down
1 change: 1 addition & 0 deletions packages/products/tdesign-vue/src/swiper/props.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export default {
/** 卡片模式下非当前展示轮播图的缩放比例 */
cardScale: {
type: Number,
default: 210/332,
},
/** 当前轮播在哪一项(下标) */
current: {
Expand Down
14 changes: 13 additions & 1 deletion packages/scripts/types/react-default-props.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,19 @@ function getDefaultValue(api) {
if (defaultValue === '') return;
if (defaultValue === '\'\'') return defaultValue;
// 输出 Number 类型的默认值
if (api.field_type_text.includes('Number') && !isNaN(defaultValue)) return Number(defaultValue);
if (api.field_type_text.includes('Number')) {
if (defaultValue) {
// 支持诸如 210/332 的分数形式默认值配置原样返回
const frac = defaultValue.match(
/^\s*([+-]?\d+(?:\.\d+)?)\s*\/\s*([+-]?\d+(?:\.\d+)?)\s*$/
);
if (frac) {
return defaultValue;
} else if (!isNaN(defaultValue)) {
return Number(defaultValue);
}
}
}
// 处理字符串类型
if (typeof defaultValue === 'string') {
try {
Expand Down
25 changes: 19 additions & 6 deletions packages/scripts/types/vue-props.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ function getType(cmp, api, name) {

function getDefaultValue(cmp, api, name, isUncontrolApi, useDefault) {
const type = api.field_type_text.join();
const value = api.field_default_value;
let dl = value;
const defaultValue = api.field_default_value;
let dl = defaultValue;
// 如果 API 显示指明 undefined,则一定返回 default: undefined
if (dl === 'undefined') return dl;
if (defaultValueIsUndefined(api)) {
Expand All @@ -65,17 +65,30 @@ function getDefaultValue(cmp, api, name, isUncontrolApi, useDefault) {
const type = `: ${getPropType(cmp, name)}`;
dl = `()${type} => ${dl}`;
} else {
dl = value;
dl = defaultValue;
}
} catch (e) {
dl = value;
dl = defaultValue;
}
}
if (type === 'Number') {
dl = value ? Number(value) : value;
if (defaultValue) {
// 支持诸如 210/332 的分数形式默认值配置原样返回
const frac = defaultValue.match(
/^\s*([+-]?\d+(?:\.\d+)?)\s*\/\s*([+-]?\d+(?:\.\d+)?)\s*$/
);
if (frac) {
dl = defaultValue;
} else {
// 其它数字类型,按数值处理
dl = Number(defaultValue);
}
} else {
dl = defaultValue;
}
} else if (type === 'String') {
// 为字符串添加单引号
dl = `'${value}'`;
dl = `'${defaultValue}'`;
// 值不为 '' 时,避免连续两个单引号出现
dl.length !== 2 && (dl = dl.replace(/''/g, '\''));
}
Expand Down