diff --git a/src/cascader/README.en-US.md b/src/cascader/README.en-US.md index 53d33dd7a..9b31dc4ae 100644 --- a/src/cascader/README.en-US.md +++ b/src/cascader/README.en-US.md @@ -5,12 +5,13 @@ name | type | default | description | required -- | -- | -- | -- | -- -close-btn | Boolean / Slot | true | \- | N -keys | Object | - | Typescript:`KeysType` | N +close-btn | Boolean / Slot | true | [see more ts definition](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N +keys | Object | - | Typescript:`KeysType`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N options | Array | [] | Typescript:`Array` | N +placeholder | String | 选择选项 | \- | N sub-titles | Array | [] | Typescript:`Array` | N -theme | String | step | options:step/tab | N -title | String / Slot | - | \- | N +theme | String | step | options: step/tab | N +title | String / Slot | - | [see more ts definition](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N value | String / Number | null | \- | N default-value | String / Number | undefined | uncontrolled property | N visible | Boolean | false | \- | N diff --git a/src/cascader/README.md b/src/cascader/README.md index 42a5441c7..9ca1013a8 100644 --- a/src/cascader/README.md +++ b/src/cascader/README.md @@ -51,12 +51,13 @@ isComponent: true 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -close-btn | Boolean / Slot | true | 关闭按钮 | N -keys | Object | - | 用来定义 value / label 在 `options` 中对应的字段别名。TS 类型:`KeysType` | N +close-btn | Boolean / Slot | true | 关闭按钮。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N +keys | Object | - | 用来定义 value / label 在 `options` 中对应的字段别名。TS 类型:`KeysType`。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N options | Array | [] | 可选项数据源。TS 类型:`Array` | N +placeholder | String | 选择选项 | 未选中时的提示文案 | N sub-titles | Array | [] | 每级展示的次标题。TS 类型:`Array` | N theme | String | step | 展示风格。可选项:step/tab | N -title | String / Slot | - | 标题 | N +title | String / Slot | - | 标题。[通用类型定义](https://github.com/Tencent/tdesign-miniprogram/blob/develop/src/common/common.ts) | N value | String / Number | null | 选项值 | N default-value | String / Number | undefined | 选项值。非受控属性 | N visible | Boolean | false | 是否展示 | N diff --git a/src/cascader/__test__/__snapshots__/demo.test.js.snap b/src/cascader/__test__/__snapshots__/demo.test.js.snap index 05bde4464..a4e39dc4d 100644 --- a/src/cascader/__test__/__snapshots__/demo.test.js.snap +++ b/src/cascader/__test__/__snapshots__/demo.test.js.snap @@ -347,6 +347,7 @@ exports[`Cascader Cascader keys demo works fine 1`] = ` }, ] }}" + placeholder="未选中时的提示文案" title="请选择地址" visible="{{false}}" bind:change="onChange" diff --git a/src/cascader/_example/keys/index.wxml b/src/cascader/_example/keys/index.wxml index ff2988088..4bf3e7273 100644 --- a/src/cascader/_example/keys/index.wxml +++ b/src/cascader/_example/keys/index.wxml @@ -6,5 +6,6 @@ keys="{{keys}}" options="{{options}}" title="请选择地址" + placeholder="未选中时的提示文案" bind:change="onChange" > diff --git a/src/cascader/cascader.ts b/src/cascader/cascader.ts index ac2f008cf..a9517b594 100644 --- a/src/cascader/cascader.ts +++ b/src/cascader/cascader.ts @@ -11,7 +11,6 @@ export interface CascaderProps extends TdCascaderProps {} type OptionsType = TdCascaderProps['options']['value']; -const defaultOptionLabel = '选择选项'; @wxComponent() export default class Cascader extends SuperComponent { externalClasses = [`${prefix}-class`]; @@ -35,9 +34,8 @@ export default class Cascader extends SuperComponent { stepIndex: 0, selectedIndexes: [], selectedValue: [], - defaultOptionLabel, scrollTopList: [], - steps: [defaultOptionLabel], + steps: [], }; observers = { @@ -56,7 +54,7 @@ export default class Cascader extends SuperComponent { }, 'selectedIndexes, options'() { - const { options, selectedIndexes, keys } = this.data; + const { options, selectedIndexes, keys, placeholder } = this.data; const selectedValue = []; const steps = []; const items = [options]; @@ -76,7 +74,7 @@ export default class Cascader extends SuperComponent { } if (steps.length < items.length) { - steps.push(defaultOptionLabel); + steps.push(placeholder); } this.setData({ diff --git a/src/cascader/cascader.wxml b/src/cascader/cascader.wxml index af1d0a4a1..ce3b5cb68 100644 --- a/src/cascader/cascader.wxml +++ b/src/cascader/cascader.wxml @@ -15,7 +15,7 @@ {{ item }} diff --git a/src/cascader/props.ts b/src/cascader/props.ts index 978488ae0..ec135d59d 100644 --- a/src/cascader/props.ts +++ b/src/cascader/props.ts @@ -20,6 +20,11 @@ const props: TdCascaderProps = { type: Array, value: [], }, + /** 未选中时的提示文案 */ + placeholder: { + type: String, + value: '选择选项', + }, /** 每级展示的次标题 */ subTitles: { type: Array, diff --git a/src/cascader/type.ts b/src/cascader/type.ts index 76bad10a1..615c1497e 100644 --- a/src/cascader/type.ts +++ b/src/cascader/type.ts @@ -30,6 +30,14 @@ export interface TdCascaderProps; }; + /** + * 未选中时的提示文案 + * @default 选择选项 + */ + placeholder?: { + type: StringConstructor; + value?: string; + }; /** * 每级展示的次标题 * @default []