Vue Js在vue-js-modal中打开画板

时间:2019-02-20 01:18:04

标签: javascript vue.js vuejs2

我是Vue的新手,正在尝试打开vue-js-modal内的画板。

我不确定我在做什么错。

我正在使用VueModalvue-signature-pad

它在页面上运行良好,但我无法使其在模式中运行。

这是codesandbox

的链接

App.vue代码如下

<template>
  <div id="app">
    <v-dialog />
    <div class="container">
      <div class="row">
        <div class="col-12 mt-2">
          <div class="col-6 mt-2">
            <button class="btn btn-secondary" @click="showButtonsDialog">
              Open Dialog
            </button>
          </div>
        </div>
       <div class="col-12 mt-2">
          <VueSignaturePad
            id="signature"
            width="100%"
            height="100%"
            ref="signaturePad"
          />
        </div>            
      </div>
    </div>
  </div>
</template>

<script>
    export default {
    name: "App",
    methods: {
       showButtonsDialog() {
           this.$modal.show("dialog", {
           title: "Some Title",
           text:'<VueSignaturePad id="signature" width="100%" height="200px" ref="signaturePad"/>',
           buttons: [
           {
               title: "CANCEL",
               handler: () => {
                   this.$modal.hide("dialog");
               }
           }]
          });
        }
      }
    };    
</script>

我在这里做什么错了?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为text仅适用于纯文本,不适用于Vue组件。要将Vue组件包含在模态中,可以在模板中声明

  <modal name="example"
   width="80%"
   height="80%">
      <VueSignaturePad
        id="signature"
        width="100%"
        height="100%"
        ref="signaturePad"
      />
  </modal>

以及要显示它的时间

showButtonsDialog() {
  this.$modal.show("example")
}

Codesandbox上的演示