@@ -110,110 +110,42 @@ console.log('> multiPicker', multiPicker);
110110<div id="multiPicker"></div>
111111```
112112
113- ## 使用方法
113+ ## 复杂交互例子
114114
115+ 下面的例子默认点击提供额外的自定义操作,下拉面板需要点击右侧的图标按钮来打开。
115116
116- ## 引入
117-
118- ### 通过 npm
119-
120- ``` js
121- import {Picker } from ' zui/picker' ;
122-
123- const picker = new Picker (element, options);
124- ```
125-
126- ### 通过全局对象 ` zui `
127-
128- ``` js
129- const picker = new zui.Picker (element, options);
130- ```
131-
132- ### 使用 React 组件
133-
134- ``` jsx
135- import {render } from ' react' ;
136- import {Picker } from ' zui/picker/react' ;
137-
138- render (element, < Picker {... options} / > );
117+ ``` html:example
118+ <div id="customPicker" class="w-40"></div>
139119```
140120
141- ### 使用 jQuery 扩展
142-
143121``` js
144- $ (element).picker (options);
122+ const customPicker = new Picker (' #customPicker' , {
123+ items,
124+ placeholder: ' 请选择你的最爱' ,
125+ required: true ,
126+ search: false ,
127+ className: ' picker-btn state' ,
145128
146- const picker = $ (element).data (' zui.picker' );
147- ```
129+ // 在下拉菜单内显示搜索框
130+ menu: {
131+ searchBox: true ,
132+ search: undefined ,
133+ },
148134
149- ## 更新下拉列表
135+ // 自定义下拉菜单控件显示
136+ display : (value , selections ) => {
137+ return {html: ` <div>你选择了:${ selections .map (x => x .text ).join (' ,' )} </div><style>.picker-btn {box-shadow: none!important;outline:none}.picker-btn .caret{display:none}</style><button type="button" class="picker-btn-trigger btn size-xs square"><i class="icon icon-exchange">↓</i></button>` , className: ' flex justify-between gap-2 p-px' };
138+ },
150139
151- 调用菜单组件实例上的 ` render ` 方法来更新下拉列表,并重新进行渲染:
140+ // 自定义点击事件
141+ onClick : (event ) => {
142+ if ($ (event .target ).closest (' .picker-btn-trigger' ).length ) {
143+ return ;
144+ }
152145
153- ``` js
154- Picker .render (options);
146+ event .preventDefault ();
147+ // 执行自定义操作
148+ console .log (' > customPicker.onClick' , event );
149+ },
150+ });
155151```
156-
157- ## 下拉面板宽度
158-
159- ## 下拉多选
160-
161- ## 全选 取消全选
162-
163- ## 可搜索
164-
165- ## 选项
166-
167- | 属性名称 | 含义 | 类型 | 默认值 |
168- | ----------------- | :----------------:| ----- | ----- |
169- | ` multiple ` | 是否可多选 | ` boolean ` | ` false ` |
170- | ` showSearch ` | 是否可搜索 | ` boolean ` | ` false ` |
171- | ` defaultValue ` | 组件默认展示项 | ` string ` | 空 |
172- | ` placeholder ` | 占位符 | ` string ` | 空 |
173- | ` disabled ` | 禁用状态 | ` boolean ` | ` false ` |
174- | ` clearable ` | 允许清除单选值 | ` boolean ` | ` false ` |
175- | ` items ` | 下拉列表 | ` array ` | ` [] ` |
176- | ` autoSelectFirst ` | 是否自动选中第一项 | ` boolean ` | ` false ` |
177- | ` dropWidth ` | 下拉面板宽度 | ` string ` | ` 100% ` |
178- | ` minDropWidth ` | 下拉面板最小宽度 | ` string ` | ` 100 ` |
179- | ` maxDropWidth ` | 下拉面板最大宽度 | ` string ` | ` 450 ` |
180- | ` maxDropHeight ` | 下拉面板最大高度 | ` number ` | ` 260 ` |
181-
182- ### ` items ` 单项属性
183-
184- | 属性名称 | 含义 | 类型 | 默认值 |
185- | ----------------- | :-------------------:| -------- | ----- |
186- | ` title ` | 名称 | ` string ` | |
187- | ` icon ` | 图标 | ` string ` | |
188- | ` disabled ` | 禁用状态 | ` boolean ` | ` false ` |
189- | ` trailingIcon ` | 后缀图标 | ` string ` | |
190- | ` className ` | 类名 | ` string ` | |
191- | ` key ` | 键值 | ` string ` | |
192- | ` style ` | 样式 | ` object ` | |
193-
194-
195- ## 方法
196-
197- ### focus()
198-
199- 激动下拉选择器。
200-
201- ### setValue()
202-
203- 动态设置选中的值。
204-
205- ### getValue()
206-
207- 获取选中的值。
208-
209- ### onChange()
210-
211- 当值变更后时触发。
212-
213- ### show()
214-
215- 展示下拉选择器。
216-
217- ### hide()
218-
219- 隐藏下拉选择器。
0 commit comments