diff --git a/src/picker/index.js b/src/picker/index.js index b04d7fc7d..2bc8062f1 100644 --- a/src/picker/index.js +++ b/src/picker/index.js @@ -79,34 +79,40 @@ export default createComponent({ return this.children[index]; }, + // @exposed-api // get column value by index getColumnValue(index) { const column = this.getColumn(index); return column && column.getValue(); }, + // @exposed-api // set column value by index setColumnValue(index, value) { const column = this.getColumn(index); column && column.setValue(value); }, + // @exposed-api // get column option index by column index getColumnIndex(columnIndex) { return (this.getColumn(columnIndex) || {}).currentIndex; }, + // @exposed-api // set column option index by column index setColumnIndex(columnIndex, optionIndex) { const column = this.getColumn(columnIndex); column && column.setIndex(optionIndex); }, + // @exposed-api // get options of column by index getColumnValues(index) { return (this.children[index] || {}).options; }, + // @exposed-api // set options of column by index setColumnValues(index, options) { const column = this.children[index]; @@ -119,11 +125,13 @@ export default createComponent({ } }, + // @exposed-api // get values of all columns getValues() { return this.children.map(child => child.getValue()); }, + // @exposed-api // set values of all columns setValues(values) { values.forEach((value, index) => { @@ -131,11 +139,13 @@ export default createComponent({ }); }, + // @exposed-api // get indexes of all columns getIndexes() { return this.children.map(child => child.currentIndex); }, + // @exposed-api // set indexes of all columns setIndexes(indexes) { indexes.forEach((optionIndex, columnIndex) => { diff --git a/types/index.d.ts b/types/index.d.ts index 03a76d4a1..64c4c72ae 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -14,6 +14,8 @@ import { Lazyload } from './lazyload'; import { List } from './list'; import { Locale } from './locale'; import { Notify } from './notify'; +import { Picker } from './picker'; +import { Sku } from './sku'; import { Swipe } from './swipe'; import { SwipeCell } from './swipe-cell'; import { Tabs } from './tabs'; @@ -59,7 +61,6 @@ export class Overlay extends VanComponent {} export class Pagination extends VanComponent {} export class Panel extends VanComponent {} export class PasswordInput extends VanComponent {} -export class Picker extends VanComponent {} export class Popup extends VanComponent {} export class Progress extends VanComponent {} export class PullRefresh extends VanComponent {} @@ -71,7 +72,6 @@ export class Search extends VanComponent {} export class Sidebar extends VanComponent {} export class SidebarItem extends VanComponent {} export class Skeleton extends VanComponent {} -export class Sku extends VanComponent {} export class Slider extends VanComponent {} export class Step extends VanComponent {} export class Stepper extends VanComponent {} @@ -101,6 +101,8 @@ export { List, Locale, Notify, + Picker, + Sku, Swipe, SwipeCell, Tabs, diff --git a/types/picker.d.ts b/types/picker.d.ts new file mode 100644 index 000000000..840e48be8 --- /dev/null +++ b/types/picker.d.ts @@ -0,0 +1,23 @@ +import { VanComponent } from './component'; + +export class Picker extends VanComponent { + getValues(): string[]; + + setValues(values: string[]): void; + + getIndexes(): number[]; + + setIndexes(indexes: number[]): void; + + getColumnValue(columnIndex: number): string; + + setColumnValue(columnIndex: number, value: string): void; + + getColumnIndex(columnIndex: number): number; + + setColumnIndex(columnIndex: number, optionIndex: number): void; + + getColumnValues(columnIndex: number): string[]; + + setColumnValues(columnIndex: number, values: string[]): void; +}