mirror of
https://gitee.com/ant-design-vue/ant-design-vue.git
synced 2024-12-01 19:48:38 +08:00
refactor(input): remove unnecessary assertions and use?? instead of the ternary operator (#7571)
* refactor: remove unnecessary assertions and use?? instead of the ternary operator * refactor: use?? instead of the ternary operator
This commit is contained in:
parent
312bcc5127
commit
4318147fc6
@ -72,7 +72,7 @@ const InputNumber = defineComponent({
|
||||
|
||||
const mergedSize = computed(() => compactSize.value || size.value);
|
||||
|
||||
const mergedValue = shallowRef(props.value === undefined ? props.defaultValue : props.value);
|
||||
const mergedValue = shallowRef(props.value ?? props.defaultValue);
|
||||
const focused = shallowRef(false);
|
||||
watch(
|
||||
() => props.value,
|
||||
|
@ -59,7 +59,7 @@ export default defineComponent({
|
||||
});
|
||||
const getIcon = (prefixCls: string) => {
|
||||
const { action, iconRender = slots.iconRender || defaultIconRender } = props;
|
||||
const iconTrigger = ActionMap[action!] || '';
|
||||
const iconTrigger = ActionMap[action] || '';
|
||||
const icon = iconRender(visible.value);
|
||||
const iconProps = {
|
||||
[iconTrigger]: onVisibleChange,
|
||||
|
@ -38,10 +38,10 @@ function setTriggerValue(
|
||||
let newTriggerValue = triggerValue;
|
||||
if (isCursorInEnd) {
|
||||
// 光标在尾部,直接截断
|
||||
newTriggerValue = fixEmojiLength(triggerValue, maxLength!);
|
||||
newTriggerValue = fixEmojiLength(triggerValue, maxLength);
|
||||
} else if (
|
||||
[...(preValue || '')].length < triggerValue.length &&
|
||||
[...(triggerValue || '')].length > maxLength!
|
||||
[...(triggerValue || '')].length > maxLength
|
||||
) {
|
||||
// 光标在中间,如果最后的值超过最大值,则采用原先的值
|
||||
newTriggerValue = preValue;
|
||||
@ -58,7 +58,7 @@ export default defineComponent({
|
||||
const formItemContext = useInjectFormItemContext();
|
||||
const formItemInputContext = FormItemInputContext.useInject();
|
||||
const mergedStatus = computed(() => getMergedStatus(formItemInputContext.status, props.status));
|
||||
const stateValue = shallowRef(props.value === undefined ? props.defaultValue : props.value);
|
||||
const stateValue = shallowRef(props.value ?? props.defaultValue);
|
||||
const resizableTextArea = shallowRef();
|
||||
const mergedValue = shallowRef('');
|
||||
const { prefixCls, size, direction } = useConfigInject('input', props);
|
||||
@ -79,7 +79,7 @@ export default defineComponent({
|
||||
const onInternalCompositionStart = (e: CompositionEvent) => {
|
||||
compositing.value = true;
|
||||
// 拼音输入前保存一份旧值
|
||||
oldCompositionValueRef.value = mergedValue.value as string;
|
||||
oldCompositionValueRef.value = mergedValue.value;
|
||||
// 保存旧的光标位置
|
||||
oldSelectionStartRef.value = (e.currentTarget as any).selectionStart;
|
||||
emit('compositionstart', e);
|
||||
@ -94,7 +94,7 @@ export default defineComponent({
|
||||
oldSelectionStartRef.value === oldCompositionValueRef.value?.length;
|
||||
triggerValue = setTriggerValue(
|
||||
isCursorInEnd,
|
||||
oldCompositionValueRef.value as string,
|
||||
oldCompositionValueRef.value,
|
||||
triggerValue,
|
||||
props.maxlength,
|
||||
);
|
||||
@ -177,14 +177,14 @@ export default defineComponent({
|
||||
// 1. 复制粘贴超过maxlength的情况 2.未超过maxlength的情况
|
||||
const target = e.target as any;
|
||||
const isCursorInEnd =
|
||||
target.selectionStart >= props.maxlength! + 1 ||
|
||||
target.selectionStart >= props.maxlength + 1 ||
|
||||
target.selectionStart === triggerValue.length ||
|
||||
!target.selectionStart;
|
||||
triggerValue = setTriggerValue(
|
||||
isCursorInEnd,
|
||||
mergedValue.value as string,
|
||||
mergedValue.value,
|
||||
triggerValue,
|
||||
props.maxlength!,
|
||||
props.maxlength,
|
||||
);
|
||||
}
|
||||
resolveOnChange(e.currentTarget as any, e, triggerChange, triggerValue);
|
||||
@ -237,7 +237,7 @@ export default defineComponent({
|
||||
});
|
||||
|
||||
watchEffect(() => {
|
||||
let val = fixControlledValue(stateValue.value) as string;
|
||||
let val = fixControlledValue(stateValue.value);
|
||||
if (
|
||||
!compositing.value &&
|
||||
hasMaxLength.value &&
|
||||
|
@ -48,9 +48,8 @@ const computedStyleCache: Record<string, NodeType> = {};
|
||||
let hiddenTextarea: HTMLTextAreaElement;
|
||||
|
||||
export function calculateNodeStyling(node: HTMLElement, useCache = false) {
|
||||
const nodeRef = (node.getAttribute('id') ||
|
||||
node.getAttribute('data-reactid') ||
|
||||
node.getAttribute('name')) as string;
|
||||
const nodeRef =
|
||||
node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');
|
||||
|
||||
if (useCache && computedStyleCache[nodeRef]) {
|
||||
return computedStyleCache[nodeRef];
|
||||
@ -103,7 +102,7 @@ export default function calculateAutoSizeStyle(
|
||||
// Fix wrap="off" issue
|
||||
// https://github.com/ant-design/ant-design/issues/6577
|
||||
if (uiTextNode.getAttribute('wrap')) {
|
||||
hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap') as string);
|
||||
hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));
|
||||
} else {
|
||||
hiddenTextarea.removeAttribute('wrap');
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user