Compare commits
19 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
35b33adb00 | |
|
|
6962bac004 | |
|
|
e1d2133118 | |
|
|
646de93ed5 | |
|
|
6fa34e715a | |
|
|
8f5a6aeaaa | |
|
|
672b9917f3 | |
|
|
eae2b5d412 | |
|
|
42982afa70 | |
|
|
8140f9ec02 | |
|
|
e204d69e74 | |
|
|
19698b7407 | |
|
|
3838c5da3f | |
|
|
0b73afffc4 | |
|
|
6111883a5a | |
|
|
5d8a59e9c3 | |
|
|
823b3ddd11 | |
|
|
7f96399009 | |
|
|
c920923a72 |
|
|
@ -0,0 +1,63 @@
|
|||
name: Build and Deploy to Cloudflare
|
||||
on:
|
||||
push:
|
||||
branches: [ 3.x ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
name: Build Application
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install --force
|
||||
|
||||
- name: Build application
|
||||
run: npm run build
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-files
|
||||
path: site/dist/
|
||||
retention-days: 1
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
name: Deploy to Cloudflare
|
||||
needs: build
|
||||
permissions:
|
||||
contents: read
|
||||
deployments: write
|
||||
steps:
|
||||
- name: Checkout (for config files)
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
sparse-checkout: |
|
||||
wrangler.jsonc
|
||||
sparse-checkout-cone-mode: false
|
||||
|
||||
- name: Download build artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: build-files
|
||||
path: site/dist/
|
||||
|
||||
- name: Deploy (Workers + Static Assets)
|
||||
uses: cloudflare/wrangler-action@v3.14.1
|
||||
with:
|
||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
command: deploy --config wrangler.jsonc
|
||||
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
@ -530,7 +530,7 @@
|
|||
|
||||
Publish Performant advanced table component Surely Vue
|
||||
|
||||
Official website : [https://surely.cool/](https://surely.cool/)
|
||||
Official website : [https://surelyvue.com/](https://surelyvue.com/)
|
||||
|
||||
Github:[https://github.com/surely-vue/table]
|
||||
|
||||
|
|
|
|||
|
|
@ -529,7 +529,7 @@
|
|||
|
||||
高级组件 Surely Vue 发布!!!
|
||||
|
||||
官方站点 : [https://surely.cool/](https://surely.cool/)
|
||||
官方站点 : [https://surelyvue.com/](https://surelyvue.com/)
|
||||
|
||||
Github:[https://github.com/surely-vue/table]
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ ant-design-vue 是 MIT 协议的开源项目。为了项目能够更好的持续
|
|||
|
||||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
|
||||
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a>
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a>
|
||||
|
||||
## Backers
|
||||
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ ant-design-vue is an MIT-licensed open source project. In order to achieve bette
|
|||
|
||||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
|
||||
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a>
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a>
|
||||
|
||||
## [More Sponsor (From Patreon、alipay、wechat、paypal...)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ export interface ConfigurableLocation {
|
|||
location?: Location;
|
||||
}
|
||||
|
||||
export const defaultWindow = /* #__PURE__ */ isClient ? window : undefined;
|
||||
export const defaultDocument = /* #__PURE__ */ isClient ? window.document : undefined;
|
||||
export const defaultNavigator = /* #__PURE__ */ isClient ? window.navigator : undefined;
|
||||
export const defaultLocation = /* #__PURE__ */ isClient ? window.location : undefined;
|
||||
export const defaultWindow = isClient ? window : undefined;
|
||||
export const defaultDocument = isClient ? window.document : undefined;
|
||||
export const defaultNavigator = isClient ? window.navigator : undefined;
|
||||
export const defaultLocation = isClient ? window.location : undefined;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ export const rand = (min: number, max: number) => {
|
|||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
};
|
||||
export const isIOS =
|
||||
/* #__PURE__ */ isClient &&
|
||||
isClient &&
|
||||
window?.navigator?.userAgent &&
|
||||
/iP(ad|hone|od)/.test(window.navigator.userAgent);
|
||||
export const hasOwn = <T extends object, K extends keyof T>(val: T, key: K): key is K =>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { filterEmpty } from './props-util';
|
||||
import type { VNode, VNodeProps } from 'vue';
|
||||
import { cloneVNode } from 'vue';
|
||||
import { cloneVNode, isVNode } from 'vue';
|
||||
import warning from './warning';
|
||||
import type { RefObject } from './createRef';
|
||||
type NodeProps = Record<string, any> &
|
||||
|
|
@ -40,6 +40,10 @@ export function deepCloneElement<T, U>(
|
|||
if (Array.isArray(vnode)) {
|
||||
return vnode.map(item => deepCloneElement(item, nodeProps, override, mergeRef));
|
||||
} else {
|
||||
// 需要判断是否为vnode方可进行clone操作
|
||||
if (!isVNode(vnode)) {
|
||||
return vnode;
|
||||
}
|
||||
const cloned = cloneElement(vnode, nodeProps, override, mergeRef);
|
||||
if (Array.isArray(cloned.children)) {
|
||||
cloned.children = deepCloneElement(cloned.children as VNode<T, U>[]);
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ export default defineComponent({
|
|||
const targetChecked = event.target.checked;
|
||||
emit('update:checked', targetChecked);
|
||||
emit('change', event);
|
||||
formItemContext.onFieldChange();
|
||||
};
|
||||
const checkboxRef = ref();
|
||||
const focus = () => {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ const Empty: EmptyType = (props, { slots = {}, attrs }) => {
|
|||
const prefixCls = prefixClsRef.value;
|
||||
|
||||
const {
|
||||
image = defaultEmptyImg,
|
||||
image = slots.image?.() || defaultEmptyImg,
|
||||
description = slots.description?.() || undefined,
|
||||
imageStyle,
|
||||
class: className = '',
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ export default defineComponent({
|
|||
const value = fieldValue.value;
|
||||
const prop = getPropByPath(model, namePath.value, true);
|
||||
if (Array.isArray(value)) {
|
||||
prop.o[prop.k] = [].concat(initialValue.value);
|
||||
prop.o[prop.k] = [].concat(initialValue.value ?? []);
|
||||
} else {
|
||||
prop.o[prop.k] = initialValue.value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,13 +58,13 @@ exports[`renders ./components/image/demo/placeholder.vue correctly 1`] = `
|
|||
`;
|
||||
|
||||
exports[`renders ./components/image/demo/preview-group.vue correctly 1`] = `
|
||||
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://aliyuncdn.antdv.com/vue.png">
|
||||
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://www.antdv.com/vue.png">
|
||||
<!---->
|
||||
<div class="ant-image-mask">
|
||||
<div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://aliyuncdn.antdv.com/logo.png">
|
||||
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://www.antdv.com/logo.png">
|
||||
<!---->
|
||||
<div class="ant-image-mask">
|
||||
<div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div>
|
||||
|
|
@ -106,7 +106,7 @@ exports[`renders ./components/image/demo/preview-group-visible.vue correctly 1`]
|
|||
`;
|
||||
|
||||
exports[`renders ./components/image/demo/preview-src.vue correctly 1`] = `
|
||||
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://aliyuncdn.antdv.com/logo.png">
|
||||
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://www.antdv.com/logo.png">
|
||||
<!---->
|
||||
<div class="ant-image-mask">
|
||||
<div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div>
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ Click the left and right switch buttons to preview multiple images.
|
|||
|
||||
<template>
|
||||
<a-image-preview-group>
|
||||
<a-image :width="200" src="https://aliyuncdn.antdv.com/vue.png" />
|
||||
<a-image :width="200" src="https://aliyuncdn.antdv.com/logo.png" />
|
||||
<a-image :width="200" src="https://www.antdv.com/vue.png" />
|
||||
<a-image :width="200" src="https://www.antdv.com/logo.png" />
|
||||
</a-image-preview-group>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ You can set different preview image.
|
|||
<template>
|
||||
<a-image
|
||||
:width="200"
|
||||
src="https://aliyuncdn.antdv.com/logo.png"
|
||||
src="https://www.antdv.com/logo.png"
|
||||
:preview="{
|
||||
src: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
|
||||
}"
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ export default defineComponent({
|
|||
const value16 = ref<string>('');
|
||||
const value17 = ref<string>('Home');
|
||||
const value18 = ref<string[]>([]);
|
||||
const value19 = ref<string>('https://surely.cool');
|
||||
const value19 = ref<string>('https://surelyvue.com');
|
||||
const value20 = ref<string>('https://antdv.com');
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -36,10 +36,10 @@ export const selectProps = () => ({
|
|||
'backfill',
|
||||
]),
|
||||
value: {
|
||||
type: [Array, Object, String, Number] as PropType<SelectValue>,
|
||||
type: [Array, Object, String, Number, Boolean] as PropType<SelectValue>,
|
||||
},
|
||||
defaultValue: {
|
||||
type: [Array, Object, String, Number] as PropType<SelectValue>,
|
||||
type: [Array, Object, String, Number, Boolean] as PropType<SelectValue>,
|
||||
},
|
||||
notFoundContent: PropTypes.any,
|
||||
suffixIcon: PropTypes.any,
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ exports[`renders ./components/table/demo/basic.vue correctly 1`] = `
|
|||
`;
|
||||
|
||||
exports[`renders ./components/table/demo/big-data.vue correctly 1`] = `
|
||||
<iframe src="https://www.surely.cool/for-ant-demo" height="400"></iframe>
|
||||
<iframe src="https://www.surelyvue.com/for-ant-demo" height="400"></iframe>
|
||||
<!--v-if-->
|
||||
`;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,21 +8,21 @@ title:
|
|||
|
||||
## zh-CN
|
||||
|
||||
该示例使用高级组件 [Surely Vue](https://www.surely.cool) 进行开发,Surely Vue 是 Ant Design Vue 旗下的高级组件,
|
||||
该示例使用高级组件 [Surely Vue](https://www.surelyvue.com) 进行开发,Surely Vue 是 Ant Design Vue 旗下的高级组件,
|
||||
该组件致力于解决大数据渲染、图表集成等复杂高频问题。 使用该组件可以流畅滚动 10 万行、10 万列的数据,你不必担心页面卡顿造成用户投诉,进而影响业务进展。
|
||||
|
||||
## en-US
|
||||
|
||||
This example uses advanced components [Surely Vue](https://www.surely.cool) for development.
|
||||
This example uses advanced components [Surely Vue](https://www.surelyvue.com) for development.
|
||||
This component is dedicated to solving complex high-frequency issues such as big data rendering and chart integration.
|
||||
Using this component, you can smoothly scroll through 100,000 rows and 100,000 columns of data.
|
||||
</docs>
|
||||
|
||||
<template>
|
||||
<iframe src="https://www.surely.cool/for-ant-demo" height="400"></iframe>
|
||||
<iframe src="https://www.surelyvue.com/for-ant-demo" height="400"></iframe>
|
||||
<div v-if="false">
|
||||
you can visit
|
||||
<a href="https://www.surely.cool"></a>
|
||||
<a href="https://www.surelyvue.com"></a>
|
||||
get more info
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import EllipsisOutlined from '@ant-design/icons-vue/EllipsisOutlined';
|
|||
export const operationNodeProps = {
|
||||
prefixCls: { type: String },
|
||||
id: { type: String },
|
||||
tabs: { type: Object as PropType<(Tab & { closeIcon?: () => any })[]> },
|
||||
tabs: { type: Array as PropType<(Tab & { closeIcon?: () => any })[]> },
|
||||
rtl: { type: Boolean },
|
||||
tabBarGutter: { type: Number },
|
||||
activeKey: { type: [String, Number] },
|
||||
|
|
@ -121,6 +121,15 @@ export default defineComponent({
|
|||
}
|
||||
});
|
||||
|
||||
watch(
|
||||
() => props.tabs.length,
|
||||
val => {
|
||||
if (!val) {
|
||||
setOpen(false);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
return () => {
|
||||
const {
|
||||
prefixCls,
|
||||
|
|
@ -135,6 +144,7 @@ export default defineComponent({
|
|||
rtl,
|
||||
onTabClick,
|
||||
} = props;
|
||||
if (!tabs.length) return null;
|
||||
const dropdownPrefix = `${prefixCls}-dropdown`;
|
||||
|
||||
const dropdownAriaLabel = locale?.dropdownAriaLabel;
|
||||
|
|
|
|||
|
|
@ -189,6 +189,15 @@
|
|||
&-footer {
|
||||
border-top: @border-width-base @border-style-base @border-color-split;
|
||||
}
|
||||
|
||||
&-checkbox {
|
||||
line-height: 1;
|
||||
align-items: center;
|
||||
|
||||
& > span {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-operation {
|
||||
|
|
|
|||
|
|
@ -127,7 +127,10 @@ export default defineComponent({
|
|||
},
|
||||
});
|
||||
const alignDisabled = computed(() => {
|
||||
if ((props.align as any)?.points && (status.value === 'align' || status.value === 'stable')) {
|
||||
if (
|
||||
(props.align as any)?.points &&
|
||||
(status.value === 'align' || status.value === 'motion' || status.value === 'stable')
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
"precompile": "npm run version",
|
||||
"pretest": "npm run version",
|
||||
"predist": "npm run version",
|
||||
"presite": "npm run version",
|
||||
"prebuild": "npm run version",
|
||||
"dev": "npm run predev && npm run routes && vite serve site",
|
||||
"test": "cross-env NODE_ENV=test jest --config .jest.js",
|
||||
"compile": "node antd-tools/cli/run.js compile",
|
||||
|
|
@ -56,8 +56,7 @@
|
|||
"routes": "node site/scripts/genrateRoutes.js",
|
||||
"tsc": "tsc --noEmit",
|
||||
"vue-tsc": "vue-tsc --noEmit",
|
||||
"site": "npm run routes && ./node_modules/vite/bin/vite.js build site --base=https://www.antdv.com/",
|
||||
"pub:site": "npm run site && node site/scripts/pushToOSS.js",
|
||||
"build": "npm run routes && ./node_modules/vite/bin/vite.js build site --base=/",
|
||||
"prepare": "husky install",
|
||||
"version": "node ./scripts/generate-version",
|
||||
"sort-api": "node antd-tools/cli/run.js sort-api-table"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
content="An enterprise-class UI components based on Ant Design and Vue"
|
||||
/>
|
||||
<title>Ant Design Vue</title>
|
||||
<link rel="icon" type="image/x-icon" href="//aliyuncdn.antdv.com/favicon.ico" />
|
||||
<link rel="icon" type="image/x-icon" href="//www.antdv.com/favicon.ico" />
|
||||
<style id="nprogress-style">
|
||||
#page-404 {
|
||||
background-image: url('https://os.alipayobjects.com/rmsportal/NOAjOBbnYCrNzrW.jpg');
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
name="keywords"
|
||||
content="ant design vue,ant-design-vue,ant-design-vue admin,ant design pro,vue ant design,vue ant design pro,vue ant design admin,ant design vue官网,ant design vue中文文档,ant design vue文档"
|
||||
/>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="//aliyuncdn.antdv.com/favicon.ico" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="//www.antdv.com/favicon.ico" />
|
||||
<style id="nprogress-style">
|
||||
#nprogress {
|
||||
display: none;
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script src="https://aliyuncdn.antdv.com/common/docsearch.min_2.6.3.js"></script>
|
||||
<script src="https://www.antdv.com/docsearch.min_2.6.3.js"></script>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-151755889-1"></script>
|
||||
|
|
@ -63,23 +63,5 @@
|
|||
gtag('config', 'UA-151755889-1');
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.wwads.cn/js/makemoney.js" async></script>
|
||||
<!-- <div
|
||||
class="surveybyantdv"
|
||||
data-sf-id="63ad5912f3e10066"
|
||||
data-sf-mode="popover"
|
||||
data-sf-button-color="#3a3939"
|
||||
data-sf-text-color="#ffffff"
|
||||
data-sf-button-radius="50"
|
||||
data-sf-button-icon="form-outlined"
|
||||
data-sf-default-open="false"
|
||||
data-sf-allow-repeat-submit="true"
|
||||
data-sf-close-after-submit="false"
|
||||
data-sf-hide-after-submit="false"
|
||||
data-sf-delay-visible="false"
|
||||
data-sf-preload="true"
|
||||
data-sf-width="368px"
|
||||
data-sf-height="407px"
|
||||
></div>
|
||||
<script async src="https://aliyuncdn.antdv.com/form/static/embed/runtime.js"></script> -->
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ const accessKeyId = process.env.ALI_OSS_ACCESSKEY;
|
|||
const accessKeySecret = process.env.ALI_OSS_SECRETKEY;
|
||||
|
||||
const client = new OSS({
|
||||
bucket: 'next-antdv',
|
||||
bucket: '3x-antdv',
|
||||
cname: 'true',
|
||||
endpoint: 'next-antdv.oss-cn-beijing.aliyuncs.com',
|
||||
endpoint: '3x-antdv.oss-cn-beijing.aliyuncs.com',
|
||||
region: 'oss-cn-beijing',
|
||||
accessKeyId,
|
||||
accessKeySecret,
|
||||
|
|
|
|||
|
|
@ -9,12 +9,6 @@
|
|||
</template>
|
||||
</a-carousel>
|
||||
</template>
|
||||
<template v-else-if="showGoogleAd">
|
||||
<!-- <template v-if="isCN">
|
||||
<WWAds :key="`WWAds_${$route.path}`" />
|
||||
</template> -->
|
||||
<google-ads-top :key="`GoogleAdsTop_${$route.path}`" />
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -22,14 +16,12 @@
|
|||
import dayjs from 'dayjs';
|
||||
import isBetween from 'dayjs/plugin/isBetween';
|
||||
dayjs.extend(isBetween);
|
||||
import GoogleAdsTop from './GoogleAdsTop.vue';
|
||||
// import WWAds from './WWAds.vue';
|
||||
const isEffective = (start, end) => {
|
||||
return dayjs().isBetween(start, end);
|
||||
};
|
||||
export default {
|
||||
components: {
|
||||
GoogleAdsTop,
|
||||
// WWAds,
|
||||
},
|
||||
props: ['isCN', 'isMobile'],
|
||||
|
|
|
|||
|
|
@ -1,25 +1,10 @@
|
|||
<template>
|
||||
<div class="container">
|
||||
<a-carousel autoplay>
|
||||
<a style="display: inline-block" href="https://form.antdv.com/" target="_blank">
|
||||
<a style="display: inline-block" href="https://www.surelyvue.com/" target="_blank">
|
||||
<div :class="cls">
|
||||
<div class="logo">
|
||||
<img height="80" src="https://aliyuncdn.antdv.com/form/static/logo-blue.png" alt="" />
|
||||
</div>
|
||||
<div class="desc">
|
||||
<!-- <div class="title">Surely Form</div> -->
|
||||
<div class="sub-title">
|
||||
<strong>雪梨表单、为您定制</strong>
|
||||
<br />
|
||||
专属的调研,投票、NPS、报名等系统
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a style="display: inline-block" href="https://www.surely.cool/" target="_blank">
|
||||
<div :class="cls">
|
||||
<div class="logo">
|
||||
<img height="80" src="https://www.surely.cool/surely-vue-logo.png" alt="" />
|
||||
<img height="80" src="https://www.surelyvue.com/surely-vue-logo.png" alt="" />
|
||||
</div>
|
||||
<div class="desc">
|
||||
<div class="title">Surely Table</div>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<a-menu-item-group v-if="isZhCN" title="高级组件">
|
||||
<a-menu-item key="surely-table">
|
||||
<a
|
||||
href="https://www.surely.cool"
|
||||
href="https://www.surelyvue.com"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
style="position: relative"
|
||||
|
|
@ -21,17 +21,6 @@
|
|||
Surely Table
|
||||
</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="surely-form">
|
||||
<a
|
||||
href="https://form.antdv.com"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
style="position: relative"
|
||||
>
|
||||
Surely Form
|
||||
<a-badge color="red" style="position: absolute; top: -18px; right: -15px" />
|
||||
</a>
|
||||
</a-menu-item>
|
||||
</a-menu-item-group>
|
||||
<template v-for="m in menus">
|
||||
<template v-if="m.children">
|
||||
|
|
|
|||
|
|
@ -9,10 +9,9 @@
|
|||
class="version"
|
||||
size="small"
|
||||
:dropdown-match-select-width="false"
|
||||
:default-value="antdVersion"
|
||||
:value="antdVersion"
|
||||
>
|
||||
<a-select-option :value="antdVersion">{{ antdVersion }}</a-select-option>
|
||||
<a-select-option value="next" @click="changeVersion('next')">4.x (Next)</a-select-option>
|
||||
<a-select-option value="2.x" @click="changeVersion('2x')">
|
||||
2.x (Not Recommended)
|
||||
</a-select-option>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
</template>
|
||||
<a-menu-item key="surely-table">
|
||||
<a
|
||||
href="https://www.surely.cool"
|
||||
href="https://www.surelyvue.com"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
style="position: relative"
|
||||
|
|
@ -33,17 +33,6 @@
|
|||
Surely Table
|
||||
</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="surely-form">
|
||||
<a
|
||||
href="https://form.antdv.com"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
style="position: relative"
|
||||
>
|
||||
Surely Form
|
||||
<a-badge color="red" style="position: absolute; top: -18px; right: -15px" />
|
||||
</a>
|
||||
</a-menu-item>
|
||||
</a-sub-menu>
|
||||
<a-menu-item key="store">
|
||||
<a
|
||||
|
|
|
|||
|
|
@ -16,12 +16,6 @@
|
|||
|
||||
<CloseOutlined class="close-icon" @click="visibleAdblockBanner = false" />
|
||||
</div> -->
|
||||
<div v-if="visibleAlertBanner && isZhCN" class="alert-banner">
|
||||
Surely Form 2.0 发布,快速定制自己的问卷平台
|
||||
<a href="https://form.antdv.com">立即体验</a>
|
||||
|
||||
<CloseOutlined class="close-icon" @click="visibleAlertBanner = false" />
|
||||
</div>
|
||||
<a-popover
|
||||
v-model:visible="menuVisible"
|
||||
overlay-class-name="popover-menu"
|
||||
|
|
|
|||
|
|
@ -176,25 +176,25 @@ export default defineComponent({
|
|||
{
|
||||
title: '大数据渲染',
|
||||
enTitle: 'Virtualized Table',
|
||||
href: 'https://surely.cool/doc/performance',
|
||||
href: 'https://surelyvue.com/doc/performance',
|
||||
target: '_blank',
|
||||
},
|
||||
{
|
||||
title: '行拖拽排序',
|
||||
enTitle: 'Row Drag Sort',
|
||||
href: 'https://surely.cool/doc/dragable#drag-row',
|
||||
href: 'https://surelyvue.com/doc/dragable#drag-row',
|
||||
target: '_blank',
|
||||
},
|
||||
{
|
||||
title: '列拖拽排序',
|
||||
enTitle: 'Column Drag Sort',
|
||||
href: 'https://surely.cool/doc/dragable#drag-column',
|
||||
href: 'https://surelyvue.com/doc/dragable#drag-column',
|
||||
target: '_blank',
|
||||
},
|
||||
{
|
||||
title: '更多高性能示例',
|
||||
enTitle: 'More high-performance examples ',
|
||||
href: 'https://surely.cool',
|
||||
href: 'https://surelyvue.com',
|
||||
target: '_blank',
|
||||
},
|
||||
],
|
||||
|
|
|
|||
|
|
@ -366,4 +366,8 @@
|
|||
color: rgba(255, 255, 255, 0.65);
|
||||
}
|
||||
}
|
||||
|
||||
.drawer-handle {
|
||||
background: #1d1d1d;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,22 +87,12 @@ export default defineComponent({
|
|||
category: 'Components',
|
||||
cols: 1,
|
||||
cover: 'https://gw.alipayobjects.com/zos/alicdn/f-SbcX2Lx/Table.svg',
|
||||
path: 'https://surely.cool/',
|
||||
path: 'https://surelyvue.com/',
|
||||
subtitle: '更强大的表格',
|
||||
title: 'Surely Table',
|
||||
type: 'Advanced And Powerful',
|
||||
target: '_blank',
|
||||
},
|
||||
{
|
||||
category: 'Components',
|
||||
cols: 1,
|
||||
cover: 'https://aliyuncdn.antdv.com/form/static/assets/landing-config.4f9d5425.png',
|
||||
path: 'https://form.antdv.com/',
|
||||
subtitle: '在线表单',
|
||||
title: 'Surely Form',
|
||||
type: 'Advanced And Powerful',
|
||||
target: '_blank',
|
||||
},
|
||||
],
|
||||
enTitle: 'Advanced And Powerful',
|
||||
title: '更强大',
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Starting from the V3 version, the momentjs library is replaced by dayjs by default. If you need to use the momentjs or date-fns date library, you can replace it as follows:
|
||||
|
||||
### 替换 DatePicker
|
||||
### replace DatePicker
|
||||
|
||||
```js
|
||||
// moment or date-fns
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ You can consult me by email [antdv@foxmail.com](antdv@foxmail.com).
|
|||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
|
||||
|
||||
<div>
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a>
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a>
|
||||
<a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ ant-design-vue 是采用 MIT 许可的开源项目,使用完全免费。 但
|
|||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
|
||||
|
||||
<div>
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a>
|
||||
<a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a>
|
||||
<a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "antdv-v3",
|
||||
"compatibility_date": "2025-09-19",
|
||||
"assets": {
|
||||
"directory": "./site/dist",
|
||||
"not_found_handling": "single-page-application"
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"pattern": "3x.antdv.com/*",
|
||||
"zone_name": "antdv.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue