fix: menu
parent
c2a59f7f8b
commit
35018fcac1
|
@ -39,3 +39,7 @@ okButtonProps、cancelButtonProps 扁平化处理
|
|||
## Mentions
|
||||
|
||||
v-model -> v-model:value
|
||||
|
||||
## menu
|
||||
|
||||
v-model -> v-model:selectedKeys :openKeys.sync -> v-mdoel:openKeys
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import shallowEqual from 'shallowequal';
|
||||
import { inject, createVNode, watchEffect } from 'vue';
|
||||
import { inject, createVNode, watchEffect, toRaw } from 'vue';
|
||||
import omit from 'omit.js';
|
||||
import { getOptionProps } from '../props-util';
|
||||
|
||||
|
@ -54,7 +54,7 @@ export default function connect(mapStateToProps) {
|
|||
const nextSubscribed = finnalMapStateToProps(this.store.getState(), props);
|
||||
if (
|
||||
!shallowEqual(this.preProps, props) ||
|
||||
!shallowEqual(this.subscribed, nextSubscribed)
|
||||
!shallowEqual(toRaw(this.subscribed), nextSubscribed)
|
||||
) {
|
||||
this.subscribed = nextSubscribed;
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@ exports[`Button renders Chinese characters correctly 4`] = `<button class="ant-b
|
|||
exports[`Button renders Chinese characters correctly 5`] = `<button class="ant-btn ant-btn-loading" type="button"><span class="anticon anticon-loading" role="img" aria-label="loading"><svg class="anticon-spin" data-icon="loading" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="0 0 1024 1024" focusable="false"><path d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"></path></svg></span><span>按 钮</span></button>`;
|
||||
|
||||
exports[`Button renders Chinese characters correctly 6`] = `
|
||||
<button class="ant-btn" type="button">
|
||||
<!----><span>按 钮</span></button>
|
||||
<button class="ant-btn ant-btn-two-chinese-chars" type="button">
|
||||
<!----><span>按钮</span></button>
|
||||
`;
|
||||
|
||||
exports[`Button renders correctly 1`] = `
|
||||
|
|
|
@ -191,7 +191,7 @@ describe('Button', () => {
|
|||
expect(wrapper.html()).toMatchSnapshot();
|
||||
});
|
||||
|
||||
fit('fixbug renders {0} , 0 and {false}', () => {
|
||||
it('fixbug renders {0} , 0 and {false}', () => {
|
||||
const wrapper = mount({
|
||||
render() {
|
||||
return <Button>{0}</Button>;
|
||||
|
|
|
@ -4,7 +4,6 @@ import omit from 'omit.js';
|
|||
import PropTypes from '../_util/vue-types';
|
||||
import VcMentions from '../vc-mentions';
|
||||
import { mentionsProps } from '../vc-mentions/src/mentionsProps';
|
||||
import Base from '../base';
|
||||
import Spin from '../spin';
|
||||
import BaseMixin from '../_util/BaseMixin';
|
||||
import { ConfigConsumerProps } from '../config-provider';
|
||||
|
@ -171,7 +170,6 @@ const Mentions = {
|
|||
|
||||
/* istanbul ignore next */
|
||||
Mentions.install = function(app) {
|
||||
app.use(Base);
|
||||
app.component(Mentions.name, Mentions);
|
||||
app.component(Mentions.Option.name, Mentions.Option);
|
||||
};
|
||||
|
|
|
@ -288,7 +288,6 @@ const DOMWrap = {
|
|||
|
||||
render() {
|
||||
const Tag = this.$props.tag;
|
||||
|
||||
return <Tag>{this.renderChildren(getSlot(this))}</Tag>;
|
||||
},
|
||||
};
|
||||
|
|
|
@ -445,7 +445,7 @@ const SubMenu = {
|
|||
let mouseEvents = {};
|
||||
let titleClickEvents = {};
|
||||
let titleMouseEvents = {};
|
||||
if (props.disabled === false) {
|
||||
if (!props.disabled) {
|
||||
mouseEvents = {
|
||||
onMouseleave: this.onMouseLeave,
|
||||
onMouseenter: this.onMouseEnter,
|
||||
|
|
|
@ -7,7 +7,13 @@ import classNames from 'classnames';
|
|||
import { getKeyFromChildrenIndex, loopMenuItem, noop, isMobileDevice, menuAllProps } from './util';
|
||||
import DOMWrap from './DOMWrap';
|
||||
import { cloneElement } from '../_util/vnode';
|
||||
import { initDefaultProps, getOptionProps, getComponent, splitAttrs } from '../_util/props-util';
|
||||
import {
|
||||
initDefaultProps,
|
||||
getOptionProps,
|
||||
getComponent,
|
||||
splitAttrs,
|
||||
getPropsData,
|
||||
} from '../_util/props-util';
|
||||
|
||||
function allDisabled(arr) {
|
||||
if (!arr.length) {
|
||||
|
@ -45,12 +51,8 @@ export function getActiveKey(props, originalActiveKey) {
|
|||
if (activeKey !== undefined && activeKey !== null) {
|
||||
let found;
|
||||
loopMenuItem(children, (c, i) => {
|
||||
const propsData = c.props || {};
|
||||
if (
|
||||
c &&
|
||||
propsData.disabled !== false &&
|
||||
activeKey === getKeyFromChildrenIndex(c, eventKey, i)
|
||||
) {
|
||||
const propsData = getPropsData(c);
|
||||
if (c && !propsData.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {
|
||||
found = true;
|
||||
}
|
||||
});
|
||||
|
@ -61,9 +63,9 @@ export function getActiveKey(props, originalActiveKey) {
|
|||
activeKey = null;
|
||||
if (defaultActiveFirst) {
|
||||
loopMenuItem(children, (c, i) => {
|
||||
const propsData = c.props || {};
|
||||
const propsData = getPropsData(c);
|
||||
const noActiveKey = activeKey === null || activeKey === undefined;
|
||||
if (noActiveKey && c && propsData.disabled !== false) {
|
||||
if (noActiveKey && c && !propsData.disabled) {
|
||||
activeKey = getKeyFromChildrenIndex(c, eventKey, i);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -412,7 +412,7 @@ export default {
|
|||
...createRefHooks(this.savePopup),
|
||||
};
|
||||
return (
|
||||
<Popup ref="popup" key="ddd" {...popupProps}>
|
||||
<Popup ref="popup" {...popupProps}>
|
||||
{getComponent(self, 'popup')}
|
||||
</Popup>
|
||||
);
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
<template>
|
||||
<div>
|
||||
<a-button><span>按钮</span></a-button>
|
||||
<demo />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import demo from '../antdv-demo/docs/menu/demo/horizontal';
|
||||
import demo from '../antdv-demo/docs/menu/demo/inline';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
|
|
@ -2,7 +2,7 @@ import '@babel/polyfill';
|
|||
import { createApp } from 'vue';
|
||||
import App from './App.vue';
|
||||
import Avatar from 'ant-design-vue/avatar';
|
||||
import Breadcrumb from 'ant-design-vue/breadcrumb';
|
||||
// import Breadcrumb from 'ant-design-vue/breadcrumb';
|
||||
import Button from 'ant-design-vue/button';
|
||||
import Comment from 'ant-design-vue/comment';
|
||||
import Drawer from 'ant-design-vue/drawer';
|
||||
|
@ -49,7 +49,7 @@ app
|
|||
.component('CN', { ...basic })
|
||||
.component('US', { ...basic })
|
||||
.use(Avatar)
|
||||
.use(Breadcrumb)
|
||||
// .use(Breadcrumb)
|
||||
.use(Button)
|
||||
.use(Comment)
|
||||
.use(ConfigProvider)
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
"vue-template-compiler": ">=2.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ant-design-vue/babel-plugin-jsx": "^1.0.0-alpha.5",
|
||||
"@ant-design-vue/babel-plugin-jsx": "1.0.0-alpha.4",
|
||||
"@babel/cli": "^7.8.4",
|
||||
"@babel/core": "^7.9.6",
|
||||
"@babel/runtime": "^7.10.1",
|
||||
|
|
Loading…
Reference in New Issue