javascript - 在模态中导入时组件无法正常工作
问题描述
所以,我的项目有一个带有表单组件的视图。该视图用于插入/编辑患者。表单组件在视图中使用时可以正常工作,但是,当在外部模式中导入表单时,事情就无法正常工作。在表单内部,我有一个计算属性,如果输入有内容则返回。该属性在视图上工作正常,但在模态上显然没有重新计算。
模态代码:
<template>
<uni-modal
close-esc
visible-overflow
size="custom"
:version="2"
:show="showModal"
@close="onClose"
>
<template slot="header">
Cadastrar paciente
</template>
<paciente-form
is-modal
v-if="showModal"
@on-close="onClose"
@save="onSave"
@save-from-beneficiario="onSaveFromBeneficiario"
/>
</uni-modal>
</template>
<script>
import PacienteForm from '@/views/paciente/dashboard/edit/form';
// More code...
</script>
表格代码:
export default {
// ...
data: () => ({
formValues: {
// ...
pacienteConvenios: [
{ convenio: null, numeroCartao: null, isUsado: false },
],
},
rules: {
// ...
numeroCartao: 'min:17', // Rule don't working on modal
// ...
},
}),
// ...
computed: {
// ...
canSave() {
return !(this.cepInvalido || this.dataInvalida || this.hasConvenioEmpty);
},
isConvenioParticular() {
return ({ convenio }) => !!convenio?.convenioParticular;
},
hasConvenioEmpty() {
const { pacienteConvenios } = this.formValues;
return pacienteConvenios
.filter(({ convenio }) => !convenio?.convenioParticular)
.some(convenio => !convenio?.numeroCartao);
},
// ...
}
}
<template>
<!-- More code above -->
<uni-row v-if="isModal">
<uni-select
searchable
class="is-4"
label="nome"
name="convenio"
title="Convênio"
placeholder="Selecione"
v-model="formValues.pacienteConvenios[0].convenio"
:options="optionsConvenio"
/>
<div>
<uni-label
title="Número da carteira"
:required="!isConvenioParticular(formValues.pacienteConvenios[0])" # Dont working on modal
/>
<uni-input
placeholder="Digite o código"
name="numeroCartao" # Validation dont working on modal
v-model="formValues.pacienteConvenios[0].numeroCartao"
mask="00000000000000000"
:disabled="formValues.pacienteConvenios[0] && isConvenioParticular(formValues.pacienteConvenios[0])" # Dont working on modal
@blur="searchBeneficiarioByCartao"
/>
</div>
</uni-row>
<!-- More code bellow -->
<!-- ... -->
<!-- More code above -->
<uni-row class="margin-top-30 button-row">
<uni-button
class="is-primary margin-top-15 margin-right-20"
type="submit"
:disabled="!canSave" # Dont working on modal
>
Salvar
</uni-button>
<a class="has-text-grey margin-top-23" @click="$refs.cancel.open()">
Cancelar
</a>
</uni-row>
<!-- More code bellow -->
</template>
解决方案
推荐阅读
- android - RelativeLayout 扩大但不缩小
- scala - 在scala中获取单例类型的实例
- informatica - Informatica BDM - 查找转换中的通配符
- sql - 按位查询倍数值
- javascript - CoinMarketCap API 到 Angular 请求
- ruby-on-rails - NoMethodError(nil:NilClass 的未定义方法“每个”):
- javascript - 绑定数据以形成角度数组
- xpath - 使用 xpath 和电报即时视图提取、创建和附加
- angular - Angular IE11 语法错误 vendor.js (124116) 类 Dom7
- hibernate - 在邮递员中使用 jersey rest api 将图像上传到数据库?