verNameのラッピング・オブジェクト
This commit is contained in:
@@ -205,7 +205,7 @@ export default defineComponent({
|
|||||||
*/
|
*/
|
||||||
const varName =(node:IActionNode)=>{
|
const varName =(node:IActionNode)=>{
|
||||||
const prop = node.actionProps.find((prop) => prop.props.name === "verName");
|
const prop = node.actionProps.find((prop) => prop.props.name === "verName");
|
||||||
return prop?.props.modelValue;
|
return prop?.props.modelValue.name;
|
||||||
};
|
};
|
||||||
const copyFlow=()=>{
|
const copyFlow=()=>{
|
||||||
context.emit('copyFlow', props.actionNode);
|
context.emit('copyFlow', props.actionNode);
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-bind="$attrs">
|
<div v-bind="$attrs">
|
||||||
<q-input :label="displayName" v-model="inputValue" label-color="primary"
|
<q-input :label="displayName" v-model="inputValue" label-color="primary" :placeholder="placeholder" stack-label
|
||||||
:placeholder="placeholder" stack-label
|
:rules="rulesExp" :maxlength="maxLength">
|
||||||
:rules="rulesExp"
|
|
||||||
:maxlength="maxLength"
|
|
||||||
>
|
|
||||||
<template v-slot:append v-if="hint !== ''">
|
<template v-slot:append v-if="hint !== ''">
|
||||||
<q-icon name="help" size="22px" color="blue-8">
|
<q-icon name="help" size="22px" color="blue-8">
|
||||||
<q-tooltip class="bg-yellow-2 text-black shadow-4" anchor="bottom right">
|
<q-tooltip class="bg-yellow-2 text-black shadow-4" anchor="bottom right">
|
||||||
@@ -18,7 +15,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { kMaxLength } from 'buffer';
|
import { kMaxLength } from 'buffer';
|
||||||
import { defineComponent, ref, watchEffect } from 'vue';
|
import { defineComponent, ref, watchEffect, computed } from 'vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'InputText',
|
name: 'InputText',
|
||||||
@@ -40,27 +37,50 @@ export default defineComponent({
|
|||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
maxLength:{
|
maxLength: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default:undefined
|
default: undefined
|
||||||
},
|
},
|
||||||
//例:[val=>!!val ||'入力してください']
|
//例:[val=>!!val ||'入力してください']
|
||||||
rules:{
|
rules: {
|
||||||
type:String,
|
type: String,
|
||||||
default:undefined
|
default: undefined
|
||||||
},
|
},
|
||||||
modelValue: {
|
modelValue: {
|
||||||
type: String,
|
// type: Any,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
const inputValue = ref(props.modelValue);
|
const inputValue = computed({
|
||||||
const rulesExp = props.rules===undefined?null : eval(props.rules);
|
get: () => {
|
||||||
watchEffect(() => {
|
if (props.modelValue !== null && typeof props.modelValue === 'object' && 'name' in props.modelValue) {
|
||||||
emit('update:modelValue', inputValue.value);
|
return props.modelValue.name;
|
||||||
|
} else {
|
||||||
|
return props.modelValue;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
set: (val) => {
|
||||||
|
if (props.name === 'verName') {
|
||||||
|
// return props.modelValue.name;
|
||||||
|
emit('update:modelValue', { name: val });
|
||||||
|
} else {
|
||||||
|
emit('update:modelValue', val);
|
||||||
|
}
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
// const inputValue = ref(props.modelValue);
|
||||||
|
const rulesExp = props.rules === undefined ? null : eval(props.rules);
|
||||||
|
|
||||||
|
// const finalValue = computed(() => {
|
||||||
|
// return props.name !== 'verName' ? inputValue.value : {
|
||||||
|
// name: inputValue.value,
|
||||||
|
// };
|
||||||
|
// });
|
||||||
|
// watchEffect(() => {
|
||||||
|
// emit('update:modelValue', finalValue);
|
||||||
|
// });
|
||||||
|
|
||||||
return {
|
return {
|
||||||
inputValue,
|
inputValue,
|
||||||
|
|||||||
Reference in New Issue
Block a user