vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.8 KiB
78 lines
1.8 KiB
<docs> |
|
--- |
|
order: 1 |
|
title: |
|
zh-CN: 单向样式 |
|
en-US: One Way |
|
--- |
|
|
|
## zh-CN |
|
|
|
通过 `oneWay` 将 Transfer 转为单向样式。 |
|
|
|
## en-US |
|
|
|
Use `oneWay` to makes Transfer to one way style. |
|
|
|
</docs> |
|
|
|
<template> |
|
<div> |
|
<a-transfer |
|
v-model:target-keys="targetKeys" |
|
v-model:selected-keys="selectedKeys" |
|
:data-source="mockData" |
|
:one-way="true" |
|
:titles="['Source', 'Target']" |
|
:render="item => item.title" |
|
:disabled="disabled" |
|
@change="handleChange" |
|
@selectChange="handleSelectChange" |
|
@scroll="handleScroll" |
|
/> |
|
<a-switch |
|
v-model:checked="disabled" |
|
un-checked-children="enabled" |
|
checked-children="disabled" |
|
style="margin-top: 16px" |
|
/> |
|
</div> |
|
</template> |
|
<script lang="ts" setup> |
|
import { ref } from 'vue'; |
|
interface MockData { |
|
key: string; |
|
title: string; |
|
description: string; |
|
disabled: boolean; |
|
} |
|
const mockData: MockData[] = []; |
|
for (let i = 0; i < 20; i++) { |
|
mockData.push({ |
|
key: i.toString(), |
|
title: `content${i + 1}`, |
|
description: `description of content${i + 1}`, |
|
disabled: i % 3 < 1, |
|
}); |
|
} |
|
|
|
const disabled = ref<boolean>(false); |
|
|
|
const targetKeys = ref<string[]>([]); |
|
|
|
const selectedKeys = ref<string[]>(['1', '4']); |
|
|
|
const handleChange = (nextTargetKeys: string[], direction: string, moveKeys: string[]) => { |
|
console.log('targetKeys: ', nextTargetKeys); |
|
console.log('direction: ', direction); |
|
console.log('moveKeys: ', moveKeys); |
|
}; |
|
const handleSelectChange = (sourceSelectedKeys: string[], targetSelectedKeys: string[]) => { |
|
console.log('sourceSelectedKeys: ', sourceSelectedKeys); |
|
console.log('targetSelectedKeys: ', targetSelectedKeys); |
|
}; |
|
const handleScroll = (direction: string, e: Event) => { |
|
console.log('direction:', direction); |
|
console.log('target:', e.target); |
|
}; |
|
</script>
|
|
|