Skip to content

Commit cd67330

Browse files
authored
Release319 fix(transfer): fix drag 2 item to right when set filterable=true (#2517)
* fix(transfer): fix drag 2 item to right when set filterable=true * fix(renderlese): update version
1 parent c1496ee commit cd67330

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

packages/renderless/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@opentiny/vue-renderless",
3-
"version": "3.19.4",
3+
"version": "3.19.5",
44
"private": true,
55
"description": "An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.",
66
"author": "OpenTiny Team",

packages/renderless/src/transfer/index.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -217,17 +217,20 @@ export const clearQuery = (refs: ITransferRenderlessParams['refs']) => (which: '
217217

218218
/** SortableJs 插件的回调逻辑, 添加,删除,更新事件后,触发本函数 */
219219
export const logicFun =
220-
({ props, emit, state }: Pick<ITransferRenderlessParams, 'emit' | 'props' | 'state'>) =>
220+
({ props, emit, state, vm }: Pick<ITransferRenderlessParams, 'emit' | 'props' | 'state'>) =>
221221
({ event, isAdd, pullMode }: { event: any; isAdd?: boolean; pullMode?: 'sort' }) => {
222222
let currentValue = props.modelValue.slice()
223223
let movedKeys = []
224224

225225
if (pullMode) {
226226
currentValue.splice(event.newIndex, 0, currentValue.splice(event.oldIndex, 1)[0])
227227
} else {
228+
const rightPanel = vm.$refs.rightPanel
229+
const leftPanel = vm.$refs.leftPanel
230+
228231
const key = isAdd
229-
? state.targetData[event.oldIndex][props.props.key]
230-
: state.sourceData[event.oldIndex][props.props.key]
232+
? rightPanel.state.filteredData[event.oldIndex][props.props.key]
233+
: leftPanel.state.filteredData[event.oldIndex][props.props.key]
231234
const index = isAdd ? state.rightChecked.indexOf(key) : state.leftChecked.indexOf(key)
232235
const valueIndex = currentValue.indexOf(key)
233236

packages/renderless/src/transfer/vue.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ const initState = ({ reactive, computed, api, props, h, slots }): ITransferState
6161
export const renderless = (
6262
props: ITransferProps,
6363
{ computed, onMounted, reactive, h }: ISharedRenderlessParamHooks,
64-
{ $prefix, emit, refs, parent, slots }: ITransferRenderlessParamUtils
64+
{ $prefix, emit, refs, parent, slots, vm }: ITransferRenderlessParamUtils
6565
) => {
6666
const api = {} as ITransferApi
6767
const Tree = $prefix + 'Tree'
@@ -80,7 +80,7 @@ export const renderless = (
8080
addToRight: addToRight({ emit, refs, props, state, Tree }),
8181
onTargetCheckedChange: onTargetCheckedChange({ emit, state }),
8282
onSourceCheckedChange: onSourceCheckedChange({ emit, state }),
83-
logicFun: logicFun({ props, emit, state }),
83+
logicFun: logicFun({ props, emit, state, vm }),
8484
getTargetData: getTargetData({ props, state, Tree, Table }),
8585
sortableEvent: sortableEvent({ api, droppanel: DROPPANEL, props, queryDom: TRANSFERPANEL, refs })
8686
})

0 commit comments

Comments
 (0)